aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/build-allocator.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2020-04-25 20:51:17 +0100
committerChristopher Baines <mail@cbaines.net>2020-04-25 20:51:17 +0100
commitb7a2f8d69de3e2776753a67f2f6f7f4dc72e5ec0 (patch)
tree3cc0035ee341fc1ed46de2cb75771dab83364870 /guix-build-coordinator/build-allocator.scm
parente534675275621fae5ad9b4706aba7bc16016f9a5 (diff)
downloadbuild-coordinator-b7a2f8d69de3e2776753a67f2f6f7f4dc72e5ec0.tar
build-coordinator-b7a2f8d69de3e2776753a67f2f6f7f4dc72e5ec0.tar.gz
Start implementing prioritisation of builds
Diffstat (limited to 'guix-build-coordinator/build-allocator.scm')
-rw-r--r--guix-build-coordinator/build-allocator.scm11
1 files changed, 9 insertions, 2 deletions
diff --git a/guix-build-coordinator/build-allocator.scm b/guix-build-coordinator/build-allocator.scm
index 2b276ff..d54dae2 100644
--- a/guix-build-coordinator/build-allocator.scm
+++ b/guix-build-coordinator/build-allocator.scm
@@ -85,13 +85,20 @@
#t
#f))))
+ (define (build-sorting-function-for-agent agent-id)
+ (lambda (a b)
+ (let ((a-priority (assq-ref a 'priority))
+ (b-priority (assq-ref b 'priority)))
+ (< b-priority a-priority))))
+
(let ((result
(append-map
(lambda (agent-id)
(log "considering builds for" agent-id)
(let ((builds-for-agent
- (filter (filter-builds-for-agent agent-id)
- builds)))
+ (sort (filter (filter-builds-for-agent agent-id)
+ builds)
+ (build-sorting-function-for-agent agent-id))))
(map (lambda (build-id ordering)
(list build-id
agent-id