diff --git a/src/lib/Hydra/Controller/Root.pm b/src/lib/Hydra/Controller/Root.pm index 13135a0c..79a02d18 100644 --- a/src/lib/Hydra/Controller/Root.pm +++ b/src/lib/Hydra/Controller/Root.pm @@ -95,11 +95,15 @@ sub timeline :Local { sub status :Local { my ($self, $c) = @_; - $c->stash->{steps} = [ $c->model('DB::BuildSteps')->search( - { 'me.busy' => 1, 'build.busy' => 1 }, - { join => [ 'build' ] - , order_by => [ 'machine' ] - } ) ]; + $c->model('DB')->storage->dbh_do(sub { + my (undef, $dbh) = @_; + local $dbh->{pg_server_prepare} = 0; + $c->stash->{steps} = [ $c->model('DB::BuildSteps')->search( + { 'me.busy' => 1, 'build.finished' => 0, 'build.busy' => 1 }, + { join => [ 'build' ] + , order_by => [ 'machine' ] + } ) ]; + }); } diff --git a/src/lib/Hydra/Helper/CatalystUtils.pm b/src/lib/Hydra/Helper/CatalystUtils.pm index e8196c3a..d4673f3f 100644 --- a/src/lib/Hydra/Helper/CatalystUtils.pm +++ b/src/lib/Hydra/Helper/CatalystUtils.pm @@ -22,6 +22,7 @@ sub getBuild { return $build; } + sub getPreviousBuild { my ($c, $build) = @_; return undef if !defined $build; @@ -38,6 +39,7 @@ sub getPreviousBuild { return $prevBuild; } + sub getNextBuild { my ($c, $build) = @_; return undef if !defined $build; @@ -54,6 +56,7 @@ sub getNextBuild { return $nextBuild; } + sub getPreviousSuccessfulBuild { my ($c, $build) = @_; return undef if !defined $build; @@ -71,6 +74,7 @@ sub getPreviousSuccessfulBuild { return $prevBuild; } + sub getBuildStats { my ($c, $builds) = @_; diff --git a/src/script/hydra-build b/src/script/hydra-build index f2df9efe..9db4691b 100755 --- a/src/script/hydra-build +++ b/src/script/hydra-build @@ -89,7 +89,6 @@ sub sendEmailNotification { , finished => 1 , id => { '!=', $build->id } }, { order_by => ["timestamp DESC"] } - ); # if there is a previous build with same buildstatus, do not send email @@ -192,7 +191,6 @@ sub sendEmailNotification { To => $to, From => "Hydra Build Daemon <$sender>", Subject => "Hydra job $jobName on " . $build->system . ", build " . $build->id . ": $status", - 'X-Hydra-Instance' => $baseurl, 'X-Hydra-Project' => $build->project->name, 'X-Hydra-Jobset' => $build->jobset->name, diff --git a/src/sql/hydra.sql b/src/sql/hydra.sql index c052918b..489cf3f4 100644 --- a/src/sql/hydra.sql +++ b/src/sql/hydra.sql @@ -498,10 +498,12 @@ create index IndexBuildInputsOnDependency on BuildInputs(dependency); create index IndexBuildProducstOnBuildAndType on BuildProducts(build, type); create index IndexBuildProductsOnBuild on BuildProducts(build); create index IndexBuildStepsOnBuild on BuildSteps(build); +create index IndexBuildStepsOnBusy on BuildSteps(busy); create index IndexBuildStepsOnDrvpathTypeBusyStatus on BuildSteps(drvpath, type, busy, status); create index IndexBuildStepsOnOutpath on BuildSteps(outpath); create index IndexBuildStepsOnOutpathBuild on BuildSteps (outpath, build); create index IndexBuildsOnFinished on Builds(finished); +create index IndexBuildsOnFinishedBusy on Builds(finished, busy); create index IndexBuildsOnIsCurrent on Builds(isCurrent); create index IndexBuildsOnJobsetIsCurrent on Builds(project, jobset, isCurrent); create index IndexBuildsOnJobIsCurrent on Builds(project, jobset, job, isCurrent);