diff options
author | Christopher Baines <mail@cbaines.net> | 2020-04-25 20:51:17 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-04-25 20:51:17 +0100 |
commit | b7a2f8d69de3e2776753a67f2f6f7f4dc72e5ec0 (patch) | |
tree | 3cc0035ee341fc1ed46de2cb75771dab83364870 | |
parent | e534675275621fae5ad9b4706aba7bc16016f9a5 (diff) | |
download | build-coordinator-b7a2f8d69de3e2776753a67f2f6f7f4dc72e5ec0.tar build-coordinator-b7a2f8d69de3e2776753a67f2f6f7f4dc72e5ec0.tar.gz |
Start implementing prioritisation of builds
-rw-r--r-- | guix-build-coordinator/build-allocator.scm | 11 |
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 |