aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix-build-coordinator/agent.scm8
-rw-r--r--guix-build-coordinator/utils.scm7
2 files changed, 8 insertions, 7 deletions
diff --git a/guix-build-coordinator/agent.scm b/guix-build-coordinator/agent.scm
index 20bd74a..e316b7b 100644
--- a/guix-build-coordinator/agent.scm
+++ b/guix-build-coordinator/agent.scm
@@ -82,7 +82,7 @@
(assoc-ref build "uuid")
pre-build-status))))))
- (let-values (((process-job-with-queue count-running-jobs)
+ (let-values (((process-job-with-queue count-jobs)
(create-work-queue max-parallel-builds
process-job)))
(let ((details (submit-status coordinator-uri uuid password 'idle)))
@@ -93,9 +93,9 @@
builds)))
(while #t
- (let ((running-jobs (count-running-jobs)))
- (when (< running-jobs max-parallel-builds)
- (match (fetch-new-jobs (- max-parallel-builds running-jobs))
+ (let ((jobs (count-jobs)))
+ (when (< jobs max-parallel-builds)
+ (match (fetch-new-jobs (- max-parallel-builds jobs))
(()
;; No new jobs available
(sleep 30))
diff --git a/guix-build-coordinator/utils.scm b/guix-build-coordinator/utils.scm
index f605f7f..a0d8df3 100644
--- a/guix-build-coordinator/utils.scm
+++ b/guix-build-coordinator/utils.scm
@@ -530,9 +530,10 @@ References: ~a~%"
(enq! queue args)
(signal-condition-variable job-available)))
- (define (count-running-jobs)
+ (define (count-jobs)
(with-mutex queue-mutex
- running-jobs-count))
+ (+ (q-length queue)
+ running-jobs-count)))
(for-each
(lambda (i)
@@ -559,4 +560,4 @@ References: ~a~%"
(loop)))))
(iota thread-count))
- (values process-job count-running-jobs)))
+ (values process-job count-jobs)))