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