diff options
author | Christopher Baines <mail@cbaines.net> | 2020-05-17 22:05:48 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-05-17 22:05:48 +0100 |
commit | ff0d12fb5cbedd09b368815b6bd433104e145454 (patch) | |
tree | f5f7154dcc4b9b1d1fcea58b08b2008e68a039e5 /guix-build-coordinator/agent-messaging/http.scm | |
parent | 137d39440e78454cef83dd4be5701290d00e771e (diff) | |
download | build-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.scm | 8 |
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"))) |