guix-commits
[Top][All Lists]
Advanced

[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



reply via email to

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