diff options
author | Christopher Baines <mail@cbaines.net> | 2020-05-08 17:26:29 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-05-08 17:26:29 +0100 |
commit | fe4af6717d87351324afb1fabf5c03f36a981129 (patch) | |
tree | 76d2585ef293ab1e08eee378a29d5286dd743bae /guix-build-coordinator/coordinator.scm | |
parent | 6315b898754c3a5fbbc0e752743b33c9175489b1 (diff) | |
download | build-coordinator-fe4af6717d87351324afb1fabf5c03f36a981129.tar build-coordinator-fe4af6717d87351324afb1fabf5c03f36a981129.tar.gz |
Start passing build-coordinator records to hooks
Plus more coordinator methods. This is a step towards making the allocator
configurable.
Diffstat (limited to 'guix-build-coordinator/coordinator.scm')
-rw-r--r-- | guix-build-coordinator/coordinator.scm | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/guix-build-coordinator/coordinator.scm b/guix-build-coordinator/coordinator.scm index 0cc41d0..5bef0c3 100644 --- a/guix-build-coordinator/coordinator.scm +++ b/guix-build-coordinator/coordinator.scm @@ -66,13 +66,14 @@ hooks metrics-registry)) -(define* (submit-build datastore derivation +(define* (submit-build build-coordinator derivation #:key requested-uuid (priority 0) (defer-allocation? #f) (ensure-all-related-derivations-have-builds? #f)) - (let ((uuid (or requested-uuid (random-v4-uuid)))) + (let ((datastore (build-coordinator-datastore build-coordinator)) + (uuid (or requested-uuid (random-v4-uuid)))) (datastore-store-derivation datastore derivation) (when ensure-all-related-derivations-have-builds? @@ -102,7 +103,7 @@ (unless defer-allocation? ;; This can be removed once allocation in the main coordinator process can ;; be triggered - (allocate-builds datastore)) + (allocate-builds build-coordinator)) uuid)) @@ -127,7 +128,10 @@ password) password)) -(define (allocate-builds datastore) +(define (allocate-builds build-coordinator) + (define datastore + (build-coordinator-datastore build-coordinator)) + (datastore-replace-build-allocation-plan datastore (basic-build-allocation-strategy datastore)) @@ -161,8 +165,7 @@ (backtrace) (raise-exception exn)) (lambda () - (allocate-builds - (build-coordinator-datastore build-coordinator))))) + (allocate-builds build-coordinator)))) #:unwind? #t))))))) trigger-build-allocation) @@ -182,7 +185,7 @@ (lambda () (apply (assq-ref (build-coordinator-hooks build-coordinator) event) - datastore arguments) + build-coordinator arguments) (datastore-delete-unprocessed-hook-event datastore id)) (lambda (key . args) (simple-format #t "error: running ~A hook: ~A ~A\n" |