hydra-queue-runner: Improved scheduling
Each jobset now has a "scheduling share" that determines how much of the build farm's time it is entitled to. For instance, if a jobset has 100 shares and the total number of shares of all jobsets is 1000, it's entitled to 10% of the build farm's time. When there is a free build slot for a given system type, the queue runner will select the jobset that is furthest below its scheduling share over a certain time window (currently, the last day). Withing that jobset, it will pick the build with the highest priority. So meta.schedulingPriority now only determines the order of builds within a jobset, not between jobsets. This makes it much easier to prioritise one jobset over another (e.g. nixpkgs:trunk over nixpkgs:stdenv).
This commit is contained in:
2
src/sql/upgrade-21.sql
Normal file
2
src/sql/upgrade-21.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
alter table Jobsets
|
||||
add column schedulingShares integer not null default 100;
|
||||
Reference in New Issue
Block a user