aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/agent.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2021-12-19 20:53:48 +0000
committerChristopher Baines <mail@cbaines.net>2021-12-19 20:53:48 +0000
commitde011c72666b01fd531819451c408228c8595a3a (patch)
treeb26968f2c17d58d4140b60138328eb0a390f9b04 /guix-build-coordinator/agent.scm
parentfd99edcce3987d8d20afd03c2c42319708a73ced (diff)
downloadbuild-coordinator-de011c72666b01fd531819451c408228c8595a3a.tar
build-coordinator-de011c72666b01fd531819451c408228c8595a3a.tar.gz
Stop using with-upload-slot for queuing uploads
As that's handled by the thread pool instead.
Diffstat (limited to 'guix-build-coordinator/agent.scm')
-rw-r--r--guix-build-coordinator/agent.scm28
1 files changed, 7 insertions, 21 deletions
diff --git a/guix-build-coordinator/agent.scm b/guix-build-coordinator/agent.scm
index c85de7a..fd5a3a8 100644
--- a/guix-build-coordinator/agent.scm
+++ b/guix-build-coordinator/agent.scm
@@ -110,15 +110,12 @@
(define upload-slots
(make-vector parallel-uploads #f))
- (define queued-uploads
- '())
-
(define uploads-mutex
(make-mutex))
(define uploads-condition-variable
(make-condition-variable))
- (define (with-upload-slot lgr file p)
+ (define (with-upload-monitoring lgr file p)
(define upload-progress-record
(make-upload-progress file 0))
@@ -136,23 +133,18 @@
(let ((uploads-count
(vector-count (lambda (_ slot)
(not (eq? #f slot)))
- upload-slots))
- (queued-uploads-count
- (length queued-uploads)))
+ upload-slots)))
(when (or (> bytes-now-sent
(+ last-progress-update-bytes-sent 10000000))
- (and (> queued-uploads-count 0)
- (> (- (time-second (current-time)))
+ (and (> (- (time-second (current-time)))
(+ last-progress-update-time 15))))
(set! last-progress-update-bytes-sent
bytes-now-sent)
(set! last-progress-update-time
(time-second (current-time)))
- (log-msg lgr 'INFO
- uploads-count " uploads in progress, "
- queued-uploads-count " queued")
+ (log-msg lgr 'INFO uploads-count " uploads in progress")
(vector-for-each
(lambda (_ upload-progress)
@@ -179,9 +171,6 @@
(lock-mutex uploads-mutex)
- (set! queued-uploads
- (cons file queued-uploads))
-
(let loop ()
(let ((free-index
(any (lambda (index)
@@ -198,9 +187,6 @@
free-index
upload-progress-record)
- (set! queued-uploads
- (delete file queued-uploads string=?))
-
(unlock-mutex uploads-mutex)
(call-with-values
@@ -277,7 +263,7 @@
derivation-name
end-time
submit-outputs?
- with-upload-slot)
+ with-upload-monitoring)
(post-build-failure lgr
coordinator-interface
build-id
@@ -758,7 +744,7 @@ but the guix-daemon claims it's unavailable"
(define (post-build-success lgr coordinator-interface
build-id derivation end-time
submit-outputs?
- with-upload-slot)
+ with-upload-monitoring)
(define outputs
(derivation-outputs (read-derivation-from-file derivation)))
@@ -874,7 +860,7 @@ but the guix-daemon claims it's unavailable"
(define (submit-one-output output-name output compressed-file)
(retry-on-error
(lambda ()
- (with-upload-slot
+ (with-upload-monitoring
lgr
(derivation-output-path output)
(lambda (report-bytes-sent)