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.
This commit is contained in:
Christopher Baines 2021-04-23 11:00:56 +01:00
parent 44ae570fba
commit e2ab6fb0dd
No known key found for this signature in database
GPG Key ID: 5E28A33B0B84F577
2 changed files with 18 additions and 0 deletions

View File

@ -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.

View File

@ -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="