[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/02: services: guix-build-coordinator: Add max-1min-load-average optio
From: |
guix-commits |
Subject: |
02/02: services: guix-build-coordinator: Add max-1min-load-average option. |
Date: |
Fri, 23 Apr 2021 06:07:08 -0400 (EDT) |
cbaines pushed a commit to branch master
in repository guix.
commit e2ab6fb0dd3e2bcaadc0d349c96c3689db5ac670
Author: Christopher Baines <mail@cbaines.net>
AuthorDate: Fri Apr 23 11:00:56 2021 +0100
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.
---
doc/guix.texi | 9 +++++++++
gnu/services/guix.scm | 9 +++++++++
2 files changed, 18 insertions(+)
diff --git a/doc/guix.texi b/doc/guix.texi
index b9019d5..262877c 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 d1d31fe..65f3007 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="