aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/coordinator.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2020-09-16 20:46:54 +0100
committerChristopher Baines <mail@cbaines.net>2020-09-16 21:19:56 +0100
commit4f17609b377c128888be6d85af46fb05fe38ce45 (patch)
tree3de81e7b2198abe0e87adc387c91adbb6a523baf /guix-build-coordinator/coordinator.scm
parent3530d332bd1a34f508cb25ba684622219cdc388f (diff)
downloadbuild-coordinator-4f17609b377c128888be6d85af46fb05fe38ce45.tar
build-coordinator-4f17609b377c128888be6d85af46fb05fe38ce45.tar.gz
Move more coordinator service startup out of the script
Diffstat (limited to 'guix-build-coordinator/coordinator.scm')
-rw-r--r--guix-build-coordinator/coordinator.scm20
1 files changed, 20 insertions, 0 deletions
diff --git a/guix-build-coordinator/coordinator.scm b/guix-build-coordinator/coordinator.scm
index c8727c8..a38045b 100644
--- a/guix-build-coordinator/coordinator.scm
+++ b/guix-build-coordinator/coordinator.scm
@@ -42,6 +42,8 @@
build-coordinator-metrics-registry
build-coordinator-allocation-strategy
+ perform-coordinator-service-startup
+
submit-build
new-agent
new-agent-password
@@ -82,8 +84,26 @@
build-coordinator
(make-build-allocator-thread build-coordinator))
+ (start-hook-processing-threads build-coordinator)
+
build-coordinator))
+(define* (perform-coordinator-service-startup build-coordinator
+ #:key
+ (update-datastore? #t)
+ (pid-file #f)
+ (trigger-build-allocation? #t))
+ (when update-datastore?
+ (datastore-update (build-coordinator-datastore build-coordinator)))
+
+ (when pid-file
+ (call-with-output-file pid-file
+ (lambda (port)
+ (simple-format port "~A\n" (getpid)))))
+
+ (when trigger-build-allocation?
+ (trigger-build-allocation build-coordinator)))
+
(define* (submit-build build-coordinator derivation-file
#:key
requested-uuid