hydra-queue-runner: Use nix.machines instead of the SystemTypes table to determine how many build jobs are allowed per system type.
[?]
Mar 4, 2013, 10:44 PM
SA5ZZ3I4SPTEEPJ5YE6JJA2DUPD4UTTC3APBNQL6XZW6PXYJRP6QCDependencies
- [2]
LZO3C2KI* Hack around those SQLite timeouts: just retry the transaction. - [3]
7YBYT2LQ - [4]
NREF6YOA* Don't start more builds concurrently than allowed for each system - [5]
ECBA3GQO* Make the schema class names match the case of the SQL table names. - [6]
TWVSALRL* Allow the maximum number of concurrent builds per platform to be - [7]
QZLMDKMU* Queue runner: don't start scheduled builds builds if they belong to - [8]
MOX7XJ2EMerge the BuildSchedulingInfo table into the Builds table - [9]
DQD7JMSU* Fix the terminology.
Change contents
- edit in src/script/hydra-queue-runner at line 75
my $machines = getMachines; - edit in src/script/hydra-queue-runner at line 78
my %maxConcurrent = ();foreach my $machineName (keys %{$machines}) {foreach my $system (${$machines}{$machineName}{'systemTypes'}) {$maxConcurrent{$system} = (${$machines}{$machineName}{'maxJobs'} or 0) + ($maxConcurrent{$system} or 0)}} - replacement in src/script/hydra-queue-runner at line 102[3.8666]→[3.756:806](∅→∅),[3.806]→[3.5103:5206](∅→∅),[3.5206]→[3.2628:2781](∅→∅),[3.2628]→[3.2628:2781](∅→∅)
# How many extra builds can we start?(my $systemTypeInfo) = $db->resultset('SystemTypes')->search({system => $system->system});my $maxConcurrent = defined $systemTypeInfo ? $systemTypeInfo->maxconcurrent : 2;my $extraAllowed = $maxConcurrent - $nrActive;my $extraAllowed = $maxConcurrent{$system} - $nrActive; - replacement in src/script/hydra-queue-runner at line 112
"': $nrActive active, $maxConcurrent allowed, ","': $nrActive active, $maxConcurrent{$system} allowed, ",