aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/coordinator.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-05-10 10:13:54 +0100
committerChristopher Baines <mail@cbaines.net>2023-05-10 10:13:54 +0100
commit930e1d5b489797666602674247efe82756ca4082 (patch)
tree89ec76474d02ee0a1ba75deda899172a9368f1a2 /guix-build-coordinator/coordinator.scm
parent039430a0ef549c36cd67227be2b0ca2b08bb7925 (diff)
downloadbuild-coordinator-930e1d5b489797666602674247efe82756ca4082.tar
build-coordinator-930e1d5b489797666602674247efe82756ca4082.tar.gz
Move computing output hashes to dedicated threads
This should help the coordinator and agents ensure hashes are computed and the agent finds out when this has happened, even in a situation where the coordinator is restarted/crashes and the connection between the agents and coordinator are lost.
Diffstat (limited to 'guix-build-coordinator/coordinator.scm')
-rw-r--r--guix-build-coordinator/coordinator.scm10
1 files changed, 8 insertions, 2 deletions
diff --git a/guix-build-coordinator/coordinator.scm b/guix-build-coordinator/coordinator.scm
index b39c4d1..edfc1ef 100644
--- a/guix-build-coordinator/coordinator.scm
+++ b/guix-build-coordinator/coordinator.scm
@@ -68,6 +68,7 @@
build-coordinator-metrics-registry
build-coordinator-allocation-strategy
build-coordinator-logger
+ build-coordinator-scheduler
build-coordinator-listen-for-events
build-coordinator-get-state-id
@@ -476,7 +477,11 @@
(format
(current-error-port)
"warning: substitutes channel delayed by ~1,2f seconds~%"
- seconds-delayed))))))
+ seconds-delayed)))))
+
+ (output-hash-channel
+ (make-output-hash-channel
+ build-coordinator)))
(let ((finished? (make-condition)))
(call-with-sigint
@@ -521,7 +526,8 @@
host
secret-key-base
build-coordinator
- chunked-request-channel)
+ chunked-request-channel
+ output-hash-channel)
(log-msg 'INFO "listening on " host ":" port))))
;; Start the client messaging server