diff options
Diffstat (limited to 'guix-build-coordinator/client-communication.scm')
-rw-r--r-- | guix-build-coordinator/client-communication.scm | 42 |
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) |