jobs with username are only allowed one attempt to unskip

This commit is contained in:
Oliver Gorwits
2018-06-07 23:17:13 +01:00
parent 662c24c5b5
commit 0cce3b3834

View File

@@ -19,8 +19,10 @@ __PACKAGE__->result_source_instance->view_definition(<<ENDSQL
AND ds.device IS NULL)
SELECT my_jobs.*,
CASE WHEN (my_jobs.username IS NOT NULL OR
my_jobs.action = ANY (string_to_array(btrim(?, '{"}'), '","')))
CASE WHEN ( (my_jobs.username IS NOT NULL AND (ds.deferrals = 0
OR ds.last_defer IS NULL
OR my_jobs.entered > ds.last_defer))
OR (my_jobs.action = ANY (string_to_array(btrim(?, '{"}'), '","'))) )
THEN 100
ELSE 0
END AS job_priority
@@ -29,7 +31,9 @@ __PACKAGE__->result_source_instance->view_definition(<<ENDSQL
LEFT OUTER JOIN device_skip ds
ON (ds.backend = ? AND ds.device = my_jobs.device)
WHERE ((ds.deferrals < ?) OR my_jobs.username IS NOT NULL)
WHERE ((ds.deferrals < ?) OR (my_jobs.username IS NOT NULL AND (ds.deferrals = 0
OR ds.last_defer IS NULL
OR my_jobs.entered > ds.last_defer)))
OR (ds.deferrals IS NULL AND ds.last_defer IS NULL)
OR ds.last_defer <= ( LOCALTIMESTAMP - ?::interval )