aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/client-communication.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix-build-coordinator/client-communication.scm')
-rw-r--r--guix-build-coordinator/client-communication.scm42
1 files changed, 30 insertions, 12 deletions
diff --git a/guix-build-coordinator/client-communication.scm b/guix-build-coordinator/client-communication.scm
index 8b2b9a2..4ce0bbf 100644
--- a/guix-build-coordinator/client-communication.scm
+++ b/guix-build-coordinator/client-communication.scm
@@ -192,13 +192,22 @@
"")
"true")))))))
(('POST "build" uuid "update-priority")
- (update-build-priority
- build-coordinator
- uuid
- (assoc-ref body "new_priority"))
+ (let ((query-parameters (request-query-parameters request)))
+ (update-build-priority
+ build-coordinator
+ uuid
+ (assoc-ref body "new_priority")
+ #:skip-updating-derived-priorities?
+ (string=? (or
+ (assq-ref query-parameters
+ 'skip-updating-derived-priorities)
+ "")
+ "true")
+ #:override-derived-priority
+ (assoc-ref body "override_derived_priority"))
- (render-json
- `((result . "build-priority-updated"))))
+ (render-json
+ `((result . "build-priority-updated")))))
(('GET "builds" "blocking")
(let ((query-parameters (request-query-parameters request)))
(render-json
@@ -771,14 +780,23 @@
"&skip-updating-derived-priorities=true"
""))))
-(define (send-update-build-priority-request
- coordinator-uri
- build-id
- new-priority)
+(define* (send-update-build-priority-request
+ coordinator-uri
+ build-id
+ new-priority
+ #:key skip-updating-derived-priorities?
+ override-derived-priority)
(send-request coordinator-uri
'POST
- (string-append "/build/" build-id "/update-priority")
- `((new_priority . ,new-priority))))
+ (string-append "/build/" build-id "/update-priority"
+ (if skip-updating-derived-priorities?
+ "?skip-updating-derived-priorities=true"
+ ""))
+ `((new_priority . ,new-priority)
+ ,@(if override-derived-priority
+ `((override_derived_priority
+ . ,override-derived-priority))
+ '()))))
(define (request-build-details coordinator-uri
uuid)