forked from lix-project/hydra
"Evaluate" command: push the jobset to the front of the eval queue
Don't let hydra-server call hydra-evaluate. That will probably just timeout, get killed, etc.
This commit is contained in:
parent
eea3846754
commit
d596b58991
|
@ -392,21 +392,4 @@ sub news_delete : Chained('admin') Path('news/delete') Args(1) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub force_eval : Chained('admin') Path('eval') Args(2) {
|
|
||||||
my ($self, $c, $projectName, $jobsetName) = @_;
|
|
||||||
|
|
||||||
my $project = $c->model('DB::Projects')->find($projectName)
|
|
||||||
or notFound($c, "Project $projectName doesn't exist.");
|
|
||||||
|
|
||||||
$c->stash->{project} = $project;
|
|
||||||
$c->stash->{jobset_} = $project->jobsets->search({name => $jobsetName});
|
|
||||||
$c->stash->{jobset} = $c->stash->{jobset_}->single
|
|
||||||
or notFound($c, "Jobset $jobsetName doesn't exist.");
|
|
||||||
|
|
||||||
captureStdoutStderr(60, "hydra-evaluator", $projectName, $jobsetName);
|
|
||||||
|
|
||||||
$c->res->redirect("/project/$projectName");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package Hydra::Helper::CatalystUtils;
|
package Hydra::Helper::CatalystUtils;
|
||||||
|
|
||||||
|
use utf8;
|
||||||
use strict;
|
use strict;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use Readonly;
|
use Readonly;
|
||||||
|
|
|
@ -79,6 +79,8 @@
|
||||||
window.location = link.attr("href");
|
window.location = link.attr("href");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
bootbox.animate(false);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -95,8 +95,27 @@
|
||||||
[% INCLUDE menuItem title="Delete" uri = "javascript:confirmDeleteJobset()" %]
|
[% INCLUDE menuItem title="Delete" uri = "javascript:confirmDeleteJobset()" %]
|
||||||
|
|
||||||
[% INCLUDE menuItem uri = c.uri_for('/jobset' project.name jobset.name 'clone') title="Clone" %]
|
[% INCLUDE menuItem uri = c.uri_for('/jobset' project.name jobset.name 'clone') title="Clone" %]
|
||||||
[% INCLUDE maybeLink uri = c.uri_for(c.controller('Admin').action_for('force_eval'), project.name, jobset.name)
|
|
||||||
content = "Evaluate" confirmmsg = ("Are you sure you want to force evaluation of jobset " _ project.name _ ":" _ jobset.name _ "?") class = "" %]
|
<script>
|
||||||
|
function confirmEvaluateJobset() {
|
||||||
|
bootbox.confirm(
|
||||||
|
'Are you sure you want to force evaluation of this jobset?',
|
||||||
|
function(c) {
|
||||||
|
if (!c) return;
|
||||||
|
$.post("[% c.uri_for('/api/push', { jobsets = project.name _ ':' _ jobset.name }) %]")
|
||||||
|
.done(function(data) {
|
||||||
|
if (data.error)
|
||||||
|
bootbox.alert("Unable to schedule the jobset for evaluation: " + data.error);
|
||||||
|
else
|
||||||
|
bootbox.alert("The jobset has been scheduled for evaluation.");
|
||||||
|
})
|
||||||
|
.fail(function() { bootbox.alert("Server request failed!"); });
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
[% INCLUDE menuItem title="Evaluate" uri = "javascript:confirmEvaluateJobset()" %]
|
||||||
|
|
||||||
[% END %]
|
[% END %]
|
||||||
[% END %]
|
[% END %]
|
||||||
[% END %]
|
[% END %]
|
||||||
|
|
Loading…
Reference in a new issue