guix-commits
[Top][All Lists]
Advanced

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]