diff options
author | Christopher Baines <mail@cbaines.net> | 2022-07-01 09:27:55 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2022-07-01 09:45:28 +0100 |
commit | 09aeabb9d3cab042a52881b117f9f64a0f0e1651 (patch) | |
tree | cf754a55af6c7b440110d79de4c3b5a5a5b9dd18 | |
parent | e17672797102936fd8ceec4c43a66d9f690fab73 (diff) | |
download | guix-09aeabb9d3cab042a52881b117f9f64a0f0e1651.tar.gz |
services: guix: Support guix-build-coordinator parallel hooks.
* gnu/services/guix.scm (guix-build-coordinator-configuration-parallel-hooks): New procedure. (make-guix-build-coordinator-start-script): Accept and use #:parallel-hooks. (guix-build-coordinator-shepherd-services): Pass parallel-hooks to make-guix-build-coordinator-start-script. * doc/guix.texi (Guix Build Coordinator): Document this new field.
-rw-r--r-- | doc/guix.texi | 5 | ||||
-rw-r--r-- | gnu/services/guix.scm | 9 |
2 files changed, 13 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index b8c49099a4..814965b22c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -35106,6 +35106,11 @@ allocation plan in the database. An association list of hooks. These provide a way to execute arbitrary code upon certain events, like a build result being processed. +@item @code{parallel-hooks} (default: @var{'()}) +Hooks can be configured to run in parallel. This parameter is an +association list of hooks to do in parallel, where the key is the symbol +for the hook and the value is the number of threads to run. + @item @code{guile} (default: @code{guile-3.0-latest}) The Guile package with which to run the Guix Build Coordinator. diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm index ad7b020b69..c7dd7ec0ed 100644 --- a/gnu/services/guix.scm +++ b/gnu/services/guix.scm @@ -46,6 +46,7 @@ guix-build-coordinator-configuration-client-communication-uri-string guix-build-coordinator-configuration-allocation-strategy guix-build-coordinator-configuration-hooks + guix-build-coordinator-configuration-parallel-hooks guix-build-coordinator-configuration-guile guix-build-coordinator-service-type @@ -155,6 +156,8 @@ (default #~basic-build-allocation-strategy)) (hooks guix-build-coordinator-configuration-hooks (default '())) + (parallel-hooks guix-build-coordinator-configuration-parallel-hooks + (default '())) (guile guix-build-coordinator-configuration-guile (default guile-3.0-latest))) @@ -246,6 +249,7 @@ agent-communication-uri-string client-communication-uri-string (hooks '()) + (parallel-hooks '()) (guile guile-3.0)) (program-file "start-guix-build-coordinator" @@ -304,7 +308,8 @@ #:agent-communication-uri (string->uri #$agent-communication-uri-string) #:client-communication-uri (string->uri - #$client-communication-uri-string))))) + #$client-communication-uri-string) + #:parallel-hooks (list #$@parallel-hooks))))) #:guile guile)) (define (guix-build-coordinator-shepherd-services config) @@ -314,6 +319,7 @@ client-communication-uri-string allocation-strategy hooks + parallel-hooks guile) (list (shepherd-service @@ -331,6 +337,7 @@ #:client-communication-uri-string client-communication-uri-string #:hooks hooks + #:parallel-hooks parallel-hooks #:guile guile)) #:user #$user #:group #$group |