aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix-build-coordinator/agent.scm7
-rw-r--r--scripts/guix-build-coordinator-agent.in13
2 files changed, 13 insertions, 7 deletions
diff --git a/guix-build-coordinator/agent.scm b/guix-build-coordinator/agent.scm
index ebd90fb..762a7e7 100644
--- a/guix-build-coordinator/agent.scm
+++ b/guix-build-coordinator/agent.scm
@@ -64,6 +64,7 @@
coordinator-interface
systems
max-parallel-builds
+ max-parallel-uploads
derivation-substitute-urls
non-derivation-substitute-urls
metrics-file
@@ -112,10 +113,8 @@
(write-textfile metrics-registry
metrics-file)))
- (define parallel-uploads
- 1)
(define upload-slots
- (make-vector parallel-uploads #f))
+ (make-vector max-parallel-uploads #f))
(define uploads-mutex
(make-mutex))
@@ -385,7 +384,7 @@
(let*-values (((perform-post-build-actions count-post-build-jobs
count-post-build-threads
list-post-build-jobs)
- (create-work-queue parallel-uploads
+ (create-work-queue max-parallel-uploads
(lambda (build thunk)
(thunk))
#:name "upload"))
diff --git a/scripts/guix-build-coordinator-agent.in b/scripts/guix-build-coordinator-agent.in
index 0ac36f9..7cfb449 100644
--- a/scripts/guix-build-coordinator-agent.in
+++ b/scripts/guix-build-coordinator-agent.in
@@ -72,6 +72,11 @@
(string-trim-right
(call-with-input-file arg get-string-all))
result)))
+ (option '("max-parallel-uploads") #t #f
+ (lambda (opt name arg result)
+ (alist-cons 'max-parallel-uploads
+ (string->number arg)
+ result)))
(option '("max-parallel-builds") #t #f
(lambda (opt name arg result)
(alist-cons 'max-parallel-builds
@@ -111,9 +116,10 @@
result)))))
(define %option-defaults
- `((coordinator . "http://localhost:8745")
- (max-parallel-builds . 1)
- (systems . (,guix-config:%system))
+ `((coordinator . "http://localhost:8745")
+ (max-parallel-builds . 1)
+ (max-parallel-uploads . 1)
+ (systems . (,guix-config:%system))
(metrics-file
. "/var/lib/prometheus/node-exporter/guix-build-coordinator-agent.prom")
(max-1min-load-average
@@ -175,6 +181,7 @@
coordinator-interface
(delete-duplicates (assq-ref opts 'systems))
(assq-ref opts 'max-parallel-builds)
+ (assq-ref opts 'max-parallel-uploads)
(or (assq-ref opts 'derivation-substitute-urls)
(assq-ref opts 'substitute-urls))
(or (assq-ref opts 'non-derivation-substitute-urls)