aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/datastore/sqlite.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2022-07-07 18:27:26 +0100
committerChristopher Baines <mail@cbaines.net>2022-07-07 18:27:26 +0100
commit9d498182f8fa7f8602af5b1dc6cc9e12b76ac88d (patch)
treebcf223b277a8329e7205f25c9306c64cf1ab7b40 /guix-build-coordinator/datastore/sqlite.scm
parent5f31d2aac7a6b1bdf7793475bc9f481f7762df4e (diff)
downloadbuild-coordinator-9d498182f8fa7f8602af5b1dc6cc9e12b76ac88d.tar
build-coordinator-9d498182f8fa7f8602af5b1dc6cc9e12b76ac88d.tar.gz
Update the derived priorities when a build is cancelled
Diffstat (limited to 'guix-build-coordinator/datastore/sqlite.scm')
-rw-r--r--guix-build-coordinator/datastore/sqlite.scm13
1 files changed, 11 insertions, 2 deletions
diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm
index d65e007..b7e3fc2 100644
--- a/guix-build-coordinator/datastore/sqlite.scm
+++ b/guix-build-coordinator/datastore/sqlite.scm
@@ -1097,8 +1097,8 @@ INSERT INTO build_tags (build_id, tag_id) VALUES (:build_id, :tag_id)"
(define-method (datastore-cancel-build
(datastore <sqlite-datastore>)
uuid)
- (call-with-worker-thread
- (slot-ref datastore 'worker-writer-thread-channel)
+ (datastore-call-with-transaction
+ datastore
(lambda (db)
(let ((statement (sqlite-prepare
db
@@ -1126,6 +1126,15 @@ DELETE FROM unprocessed_builds_with_derived_priorities
(sqlite-step statement)
(sqlite-reset statement))))
+
+ (update-unprocessed-builds-with-lower-derived-priorities
+ datastore
+ (call-with-worker-thread
+ (slot-ref datastore 'worker-reader-thread-channel)
+ (lambda (db)
+ (db-find-build-id db uuid)))
+ #f)
+
#t)
(define (db-get-build-priority db build-id)