diff options
author | Christopher Baines <mail@cbaines.net> | 2021-04-23 11:00:56 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2021-04-23 11:03:23 +0100 |
commit | e2ab6fb0dd3e2bcaadc0d349c96c3689db5ac670 (patch) | |
tree | 76aead530762f726243ddf9d965231c19d66f5cb | |
parent | 44ae570fba1ec1b5873af3a9f03d7d73a866bfca (diff) | |
download | guix-e2ab6fb0dd3e2bcaadc0d349c96c3689db5ac670.tar.gz |
services: guix-build-coordinator: Add max-1min-load-average option.
To the agent configuration. * gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): New field, max-1min-load-average. (guix-build-coordinator-agent-configuration-max-1min-load-average): New procedure. (guix-build-coordinator-agent-shepherd-services): If set, include the max-1min-load-average in the agent arguments.
-rw-r--r-- | doc/guix.texi | 9 | ||||
-rw-r--r-- | gnu/services/guix.scm | 9 |
2 files changed, 18 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index b9019d5550..262877cb88 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -31155,6 +31155,15 @@ will use the current system it's running on as the default. @item @code{max-parallel-builds} (default: @code{1}) The number of builds to perform in parallel. +@item @code{max-1min-load-average} (default: @code{#f}) +Load average value to look at when considering starting new builds, if +the 1 minute load average exceeds this value, the agent will wait before +starting new builds. + +This will be unspecified if the value is @code{#f}, and the agent will +use the number of cores reported by the system as the max 1 minute load +average. + @item @code{derivation-substitute-urls} (default: @code{#f}) URLs from which to attempt to fetch substitutes for derivations, if the derivations aren't already available. diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm index d1d31febdc..65f3007916 100644 --- a/gnu/services/guix.scm +++ b/gnu/services/guix.scm @@ -58,6 +58,7 @@ guix-build-coordinator-agent-configuration-authentication guix-build-coordinator-agent-configuration-systems guix-build-coordinator-agent-configuration-max-parallel-builds + guix-build-coordinator-agent-configuration-max-1min-load-average guix-build-coordinator-agent-configuration-derivation-substitute-urls guix-build-coordinator-agent-configuration-non-derivation-substitute-urls @@ -156,6 +157,9 @@ (max-parallel-builds guix-build-coordinator-agent-configuration-max-parallel-builds (default 1)) + (max-1min-load-average + guix-build-coordinator-agent-configuration-max-1min-load-average + (default #f)) (derivation-substitute-urls guix-build-coordinator-agent-configuration-derivation-substitute-urls (default #f)) @@ -370,6 +374,7 @@ (define (guix-build-coordinator-agent-shepherd-services config) (match-record config <guix-build-coordinator-agent-configuration> (package user coordinator authentication max-parallel-builds + max-1min-load-average derivation-substitute-urls non-derivation-substitute-urls systems) (list @@ -402,6 +407,10 @@ token-file)))) #$(simple-format #f "--max-parallel-builds=~A" max-parallel-builds) + #$@(if max-1min-load-average + #~(#$(simple-format #f "--max-1min-load-average=~A" + max-1min-load-average)) + #~()) #$@(if derivation-substitute-urls #~(#$(string-append "--derivation-substitute-urls=" |