Archived
1
0
Fork 0

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}) @item @code{max-parallel-builds} (default: @code{1})
The number of builds to perform in parallel. 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}) @item @code{derivation-substitute-urls} (default: @code{#f})
URLs from which to attempt to fetch substitutes for derivations, if the URLs from which to attempt to fetch substitutes for derivations, if the
derivations aren't already available. derivations aren't already available.

View file

@ -58,6 +58,7 @@
guix-build-coordinator-agent-configuration-authentication guix-build-coordinator-agent-configuration-authentication
guix-build-coordinator-agent-configuration-systems guix-build-coordinator-agent-configuration-systems
guix-build-coordinator-agent-configuration-max-parallel-builds 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-derivation-substitute-urls
guix-build-coordinator-agent-configuration-non-derivation-substitute-urls guix-build-coordinator-agent-configuration-non-derivation-substitute-urls
@ -156,6 +157,9 @@
(max-parallel-builds (max-parallel-builds
guix-build-coordinator-agent-configuration-max-parallel-builds guix-build-coordinator-agent-configuration-max-parallel-builds
(default 1)) (default 1))
(max-1min-load-average
guix-build-coordinator-agent-configuration-max-1min-load-average
(default #f))
(derivation-substitute-urls (derivation-substitute-urls
guix-build-coordinator-agent-configuration-derivation-substitute-urls guix-build-coordinator-agent-configuration-derivation-substitute-urls
(default #f)) (default #f))
@ -370,6 +374,7 @@
(define (guix-build-coordinator-agent-shepherd-services config) (define (guix-build-coordinator-agent-shepherd-services config)
(match-record config <guix-build-coordinator-agent-configuration> (match-record config <guix-build-coordinator-agent-configuration>
(package user coordinator authentication max-parallel-builds (package user coordinator authentication max-parallel-builds
max-1min-load-average
derivation-substitute-urls non-derivation-substitute-urls derivation-substitute-urls non-derivation-substitute-urls
systems) systems)
(list (list
@ -402,6 +407,10 @@
token-file)))) token-file))))
#$(simple-format #f "--max-parallel-builds=~A" #$(simple-format #f "--max-parallel-builds=~A"
max-parallel-builds) max-parallel-builds)
#$@(if max-1min-load-average
#~(#$(simple-format #f "--max-1min-load-average=~A"
max-1min-load-average))
#~())
#$@(if derivation-substitute-urls #$@(if derivation-substitute-urls
#~(#$(string-append #~(#$(string-append
"--derivation-substitute-urls=" "--derivation-substitute-urls="