Allow prioritising jobs from specific repositories

To help the QA data service prioritise branches over patches.
This commit is contained in:
Christopher Baines 2024-03-07 09:44:47 +00:00
parent 184d341671
commit 5f80856ad1
5 changed files with 35 additions and 3 deletions

View file

@ -1898,6 +1898,9 @@ SELECT
) branches_and_latest_commits ) branches_and_latest_commits
) AS latest_branch_commit ) AS latest_branch_commit
FROM load_new_guix_revision_jobs FROM load_new_guix_revision_jobs
INNER JOIN git_repositories
ON load_new_guix_revision_jobs.git_repository_id =
git_repositories.id
WHERE WHERE
succeeded_at IS NULL AND succeeded_at IS NULL AND
( (
@ -1909,7 +1912,9 @@ WHERE
FROM load_new_guix_revision_job_events FROM load_new_guix_revision_job_events
WHERE job_id = load_new_guix_revision_jobs.id AND event = 'failure' WHERE job_id = load_new_guix_revision_jobs.id AND event = 'failure'
) )
ORDER BY latest_branch_commit DESC, id DESC") ORDER BY latest_branch_commit DESC,
git_repositories.job_priority DESC,
id DESC")
(map (map
(match-lambda (match-lambda
@ -2021,7 +2026,7 @@ WHERE id = $1 ")
(define (fetch-unlocked-jobs conn) (define (fetch-unlocked-jobs conn)
(define query " (define query "
SELECT SELECT
id, load_new_guix_revision_jobs.id,
commit IN ( commit IN (
SELECT commit FROM ( SELECT commit FROM (
SELECT DISTINCT ON (name) SELECT DISTINCT ON (name)
@ -2035,6 +2040,9 @@ SELECT
) branches_and_latest_commits ) branches_and_latest_commits
) AS latest_branch_commit ) AS latest_branch_commit
FROM load_new_guix_revision_jobs FROM load_new_guix_revision_jobs
INNER JOIN git_repositories
ON load_new_guix_revision_jobs.git_repository_id =
git_repositories.id
WHERE WHERE
succeeded_at IS NULL AND succeeded_at IS NULL AND
( (
@ -2046,7 +2054,9 @@ WHERE
FROM load_new_guix_revision_job_events FROM load_new_guix_revision_job_events
WHERE job_id = load_new_guix_revision_jobs.id AND event = 'failure' WHERE job_id = load_new_guix_revision_jobs.id AND event = 'failure'
) )
ORDER BY latest_branch_commit DESC, id DESC ORDER BY latest_branch_commit DESC,
git_repositories.job_priority DESC,
load_new_guix_revision_jobs.id DESC
FOR NO KEY UPDATE OF load_new_guix_revision_jobs FOR NO KEY UPDATE OF load_new_guix_revision_jobs
SKIP LOCKED") SKIP LOCKED")

View file

@ -0,0 +1,7 @@
-- Deploy guix-data-service:git_repositories_job_priority to pg
BEGIN;
ALTER TABLE git_repositories ADD COLUMN job_priority INTEGER NOT NULL DEFAULT 0;
COMMIT;

View file

@ -0,0 +1,7 @@
-- Revert guix-data-service:git_repositories_job_priority from pg
BEGIN;
-- XXX Add DDLs here.
COMMIT;

View file

@ -97,3 +97,4 @@ guix_revision_package_derivation_distribution_counts 2023-03-08T16:53:44Z Chris
cascade_nar_foreign_keys 2023-08-01T09:42:33Z Chris <chris@felis> # Make it easier to delete nars entries cascade_nar_foreign_keys 2023-08-01T09:42:33Z Chris <chris@felis> # Make it easier to delete nars entries
nar_indexes 2023-08-01T11:37:35Z Chris <chris@felis> # Add nar related indexes nar_indexes 2023-08-01T11:37:35Z Chris <chris@felis> # Add nar related indexes
git_repositories_poll_interval 2023-10-08T20:36:09Z Chris <chris@felis> # Add git_repositories.poll_interval git_repositories_poll_interval 2023-10-08T20:36:09Z Chris <chris@felis> # Add git_repositories.poll_interval
git_repositories_job_priority 2024-03-07T09:39:27Z Chris <chris@felis> # Add git_repositories.job_priority

View file

@ -0,0 +1,7 @@
-- Verify guix-data-service:git_repositories_job_priority on pg
BEGIN;
-- XXX Add verifications here.
ROLLBACK;