* Added a status page that shows all the currently executing build steps.
* Store the system type in the BuildSteps table. * Don't query the queue size when serving static pages. This prevents two unnecessary database queries per request.
This commit is contained in:
@ -35,7 +35,6 @@ sub view_build : Chained('build') PathPart('') Args(0) {
|
||||
my $build = $c->stash->{build};
|
||||
|
||||
$c->stash->{template} = 'build.tt';
|
||||
$c->stash->{curTime} = time;
|
||||
$c->stash->{available} = isValidPath $build->outpath;
|
||||
$c->stash->{drvAvailable} = isValidPath $build->drvpath;
|
||||
$c->stash->{flashMsg} = $c->flash->{buildMsg};
|
||||
|
@ -12,14 +12,16 @@ __PACKAGE__->config->{namespace} = '';
|
||||
|
||||
|
||||
sub begin :Private {
|
||||
my ($self, $c) = @_;
|
||||
my ($self, $c, @args) = @_;
|
||||
$c->stash->{curUri} = $c->request->uri;
|
||||
$c->stash->{version} = $ENV{"HYDRA_RELEASE"} || "<devel>";
|
||||
$c->stash->{nixVersion} = $ENV{"NIX_RELEASE"} || "<devel>";
|
||||
|
||||
$c->stash->{nrRunningBuilds} = $c->model('DB::BuildSchedulingInfo')->search({ busy => 1 }, {})->count();
|
||||
$c->stash->{nrQueuedBuilds} = $c->model('DB::BuildSchedulingInfo')->count();
|
||||
|
||||
$c->stash->{nixVersion} = $ENV{"NIX_RELEASE"} || "<devel>";
|
||||
$c->stash->{curTime} = time;
|
||||
|
||||
if (scalar(@args) && $args[0] ne "static") {
|
||||
$c->stash->{nrRunningBuilds} = $c->model('DB::BuildSchedulingInfo')->search({ busy => 1 }, {})->count();
|
||||
$c->stash->{nrQueuedBuilds} = $c->model('DB::BuildSchedulingInfo')->count();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -74,6 +76,7 @@ sub queue :Local {
|
||||
$c->stash->{flashMsg} = $c->flash->{buildMsg};
|
||||
}
|
||||
|
||||
|
||||
sub timeline :Local {
|
||||
my ($self, $c) = @_;
|
||||
my $pit = time();
|
||||
@ -90,6 +93,17 @@ sub timeline :Local {
|
||||
})];
|
||||
}
|
||||
|
||||
|
||||
sub status :Local {
|
||||
my ($self, $c) = @_;
|
||||
$c->stash->{steps} = [ $c->model('DB::BuildSteps')->search(
|
||||
{ 'me.busy' => 1, 'schedulingInfo.busy' => 1 },
|
||||
{ join => [ 'schedulingInfo' ]
|
||||
, order_by => [ 'machine', 'outpath' ]
|
||||
} ) ];
|
||||
}
|
||||
|
||||
|
||||
# Hydra::Base::Controller::ListBuilds needs this.
|
||||
sub get_builds : Chained('/') PathPart('') CaptureArgs(0) {
|
||||
my ($self, $c) = @_;
|
||||
|
Reference in New Issue
Block a user