diff options
author | Christopher Baines <mail@cbaines.net> | 2020-06-20 12:04:31 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-06-20 12:04:31 +0100 |
commit | a01372cf3d0a70a4e39cd3a43dce8d694f1e2aa9 (patch) | |
tree | c2077a5b30c1c618e867c727c2ca907fdd44e493 | |
parent | 52e6f12cee2680739954afd2e3a8c2d28d835fc6 (diff) | |
download | build-coordinator-a01372cf3d0a70a4e39cd3a43dce8d694f1e2aa9.tar build-coordinator-a01372cf3d0a70a4e39cd3a43dce8d694f1e2aa9.tar.gz |
Fetch the derivation ordered allocator data in a transaction
To try and avoid the data from the two queries being inconsistent.
-rw-r--r-- | guix-build-coordinator/build-allocator.scm | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/guix-build-coordinator/build-allocator.scm b/guix-build-coordinator/build-allocator.scm index 48896ab..fda893c 100644 --- a/guix-build-coordinator/build-allocator.scm +++ b/guix-build-coordinator/build-allocator.scm @@ -20,6 +20,7 @@ (define-module (guix-build-coordinator build-allocator) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) #:use-module (ice-9 match) #:use-module (guix memoization) #:use-module (guix-build-coordinator utils) @@ -336,11 +337,16 @@ build-ids) build-ids)) - (let ((derived-build-priorities-hash - (datastore-fetch-unprocessed-builds-with-propagated-priorities - datastore)) - (build-ids-for-unprocessed-builds-with-built-inputs - (datastore-list-unprocessed-builds-with-built-inputs datastore))) + (let-values + (((derived-build-priorities-hash + build-ids-for-unprocessed-builds-with-built-inputs) + (datastore-call-with-transaction + datastore + (lambda () + (values + (datastore-fetch-unprocessed-builds-with-propagated-priorities datastore) + (datastore-list-unprocessed-builds-with-built-inputs datastore))) + #:readonly? #t))) (define (build-sorting-function-for-agent agent-id) (lambda (a b) |