diff options
Diffstat (limited to 'guix-build-coordinator/datastore/sqlite.scm')
-rw-r--r-- | guix-build-coordinator/datastore/sqlite.scm | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm index 888775e..f10af88 100644 --- a/guix-build-coordinator/datastore/sqlite.scm +++ b/guix-build-coordinator/datastore/sqlite.scm @@ -1638,7 +1638,8 @@ WHERE build_id = :build_id" (apply (lambda* (uuid new-priority - #:key skip-updating-other-build-derived-priorities) + #:key skip-updating-derived-priorities? + override-derived-priority) (let ((build-id old-priority (call-with-worker-thread @@ -1664,8 +1665,9 @@ WHERE build_id = :build_id" db build-id)) (new-derived-priority - (max new-priority - (get-derived-priority db build-id)))) + (or override-derived-priority + (max new-priority + (get-derived-priority db build-id))))) (unless (eq? old-derived-priority new-derived-priority) @@ -1674,7 +1676,7 @@ WHERE build_id = :build_id" new-derived-priority)) (unless (or all-inputs-built? - skip-updating-other-build-derived-priorities) + skip-updating-derived-priorities?) (when (> new-derived-priority old-derived-priority) (update-unprocessed-builds-with-higher-derived-priorities @@ -1687,8 +1689,8 @@ WHERE build_id = :build_id" ;; transaction, but since there could be lots of builds to update the ;; priority of, and a new derived priority has to be calculated for ;; each one, it's better to handle it afterwards. - (when (< new-priority - old-priority) + (when (and (not skip-updating-derived-priorities?) + (< new-priority old-priority)) (datastore-update-unprocessed-builds-with-lower-derived-priorities datastore uuid |