aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/agent-messaging/http.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2020-05-17 22:05:48 +0100
committerChristopher Baines <mail@cbaines.net>2020-05-17 22:05:48 +0100
commitff0d12fb5cbedd09b368815b6bd433104e145454 (patch)
treef5f7154dcc4b9b1d1fcea58b08b2008e68a039e5 /guix-build-coordinator/agent-messaging/http.scm
parent137d39440e78454cef83dd4be5701290d00e771e (diff)
downloadbuild-coordinator-ff0d12fb5cbedd09b368815b6bd433104e145454.tar
build-coordinator-ff0d12fb5cbedd09b368815b6bd433104e145454.tar.gz
Support agents processing builds in parallel
Diffstat (limited to 'guix-build-coordinator/agent-messaging/http.scm')
-rw-r--r--guix-build-coordinator/agent-messaging/http.scm8
1 files changed, 6 insertions, 2 deletions
diff --git a/guix-build-coordinator/agent-messaging/http.scm b/guix-build-coordinator/agent-messaging/http.scm
index d22cf5c..7e1b540 100644
--- a/guix-build-coordinator/agent-messaging/http.scm
+++ b/guix-build-coordinator/agent-messaging/http.scm
@@ -259,7 +259,9 @@ port. Also, the port used can be changed by passing the --port option.\n"
#:code 403)))
(('POST "agent" uuid "fetch-builds")
(if (authenticated? uuid request)
- (let ((builds (fetch-builds build-coordinator uuid)))
+ (let* ((json-body (json-string->scm (utf8->string body)))
+ (count (assoc-ref json-body "count"))
+ (builds (fetch-builds build-coordinator uuid count)))
(render-json
`((builds . ,(list->vector builds)))))
(render-json
@@ -623,10 +625,12 @@ port. Also, the port used can be changed by passing the --port option.\n"
#:body report
#:succeed-on-access-denied-retry? #t))
-(define (fetch-builds-for-agent coordinator-uri agent-uuid password)
+(define* (fetch-builds-for-agent coordinator-uri agent-uuid password
+ #:key (count 1))
(vector->list
(assoc-ref (coordinator-http-request
coordinator-uri agent-uuid password
(string-append "/agent/" agent-uuid "/fetch-builds")
+ #:body `((count . ,count))
#:method 'POST)
"builds")))