[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/04: services: guix: Support guix-build-coordinator parallel hooks.
From: |
guix-commits |
Subject: |
02/04: services: guix: Support guix-build-coordinator parallel hooks. |
Date: |
Fri, 1 Jul 2022 04:46:28 -0400 (EDT) |
cbaines pushed a commit to branch master
in repository guix.
commit 09aeabb9d3cab042a52881b117f9f64a0f0e1651
Author: Christopher Baines <mail@cbaines.net>
AuthorDate: Fri Jul 1 09:27:55 2022 +0100
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.
---
doc/guix.texi | 5 +++++
gnu/services/guix.scm | 9 ++++++++-
2 files changed, 13 insertions(+), 1 deletion(-)
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