diff options
author | Christopher Baines <mail@cbaines.net> | 2023-04-11 18:32:56 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2023-04-11 18:33:33 +0100 |
commit | dd817097a387db05fbf8036855b7ea7304067e93 (patch) | |
tree | 86badaf741780ac0ff461945123af9716d218c48 | |
parent | c501076fb082368325920461d8c6c6de21316dd0 (diff) | |
download | build-coordinator-dd817097a387db05fbf8036855b7ea7304067e93.tar build-coordinator-dd817097a387db05fbf8036855b7ea7304067e93.tar.gz |
Expose the derived priority to agents
Rather than the priority, as it's the derived priority that they should be
using for decision making.
-rw-r--r-- | guix-build-coordinator/agent.scm | 8 | ||||
-rw-r--r-- | guix-build-coordinator/datastore/sqlite.scm | 20 |
2 files changed, 16 insertions, 12 deletions
diff --git a/guix-build-coordinator/agent.scm b/guix-build-coordinator/agent.scm index e399c2f..067fa93 100644 --- a/guix-build-coordinator/agent.scm +++ b/guix-build-coordinator/agent.scm @@ -425,10 +425,10 @@ (map (match-lambda ((build-details) (simple-format - #f " - ~A (priority: ~A) + #f " - ~A (derived priority: ~A) ~A" (assoc-ref build-details "uuid") - (assoc-ref build-details "priority") + (assoc-ref build-details "derived_priority") (assoc-ref build-details "derivation-name")))) (list-jobs)) "\n") @@ -437,10 +437,10 @@ (map (match-lambda ((build-details _) (simple-format - #f " - ~A (priority: ~A) + #f " - ~A (derived priority: ~A) ~A" (assoc-ref build-details "uuid") - (assoc-ref build-details "priority") + (assoc-ref build-details "derived_priority") (assoc-ref build-details "derivation-name")))) (list-post-build-jobs)) "\n"))) diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm index b104528..f8c65c7 100644 --- a/guix-build-coordinator/datastore/sqlite.scm +++ b/guix-build-coordinator/datastore/sqlite.scm @@ -3304,7 +3304,8 @@ INSERT INTO build_allocation_agent_requested_systems (agent_id, system_id) VALUE db ;; This needs to guard against the plan being out of date " -SELECT builds.uuid, derivations.id, derivations.name, builds.priority +SELECT builds.uuid, derivations.id, derivations.name, + unprocessed_builds_with_derived_priorities.derived_priority FROM builds INNER JOIN build_allocation_plan ON builds.id = build_allocation_plan.build_id @@ -3313,6 +3314,8 @@ INNER JOIN derivations INNER JOIN build_allocation_agent_requested_systems ON build_allocation_agent_requested_systems.agent_id = :agent_id AND build_allocation_agent_requested_systems.system_id = derivations.system_id +LEFT JOIN unprocessed_builds_with_derived_priorities + ON unprocessed_builds_with_derived_priorities.build_id = builds.id WHERE build_allocation_plan.agent_id = :agent_id AND builds.processed = 0 AND builds.canceled = 0 @@ -3341,7 +3344,7 @@ WHERE build_derivation_outputs.derivation_id = :derivation_id (let loop ((build-details (sqlite-step statement))) (match build-details (#f #f) - (#(uuid derivation-id derivation-name priority) + (#(uuid derivation-id derivation-name derived_priority) (sqlite-bind-arguments output-conflicts-statement #:agent_id agent-id @@ -3354,7 +3357,7 @@ WHERE build_derivation_outputs.derivation_id = :derivation_id `((uuid . ,uuid) ;; TODO Change this to derivation_name (derivation-name . ,derivation-name) - (priority . ,priority)) + (derived_priority . ,derived_priority)) (loop (sqlite-step statement)))))))) (sqlite-bind-arguments @@ -3487,7 +3490,8 @@ LIMIT :limit" (sqlite-prepare db " -SELECT builds.uuid, derivations.name, builds.priority +SELECT builds.uuid, derivations.name, + unprocessed_builds_with_derived_priorities.derived_priority FROM builds INNER JOIN derivations ON builds.derivation_id = derivations.id @@ -3502,11 +3506,11 @@ WHERE allocated_builds.agent_id = :agent_id" (let ((builds (sqlite-map (match-lambda - (#(uuid derivation_name priority) - `((uuid . ,uuid) + (#(uuid derivation_name derived_priority) + `((uuid . ,uuid) ;; TODO Switch this to derivation_name - (derivation-name . ,derivation_name) - (priority . ,priority)))) + (derivation-name . ,derivation_name) + (derived_priority . ,derived_priority)))) statement))) (sqlite-reset statement) |