Mercurial > sci
diff sql/job-todo.sql @ 6:8c408176d2b1
scid: past jobs are not listed for new workers
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 23 Jun 2021 11:44:30 +0200 |
parents | 9c4fea43803c |
children | de4bf839b565 |
line wrap: on
line diff
--- a/sql/job-todo.sql Wed Jun 16 13:25:42 2021 +0200 +++ b/sql/job-todo.sql Wed Jun 23 11:44:30 2021 +0200 @@ -1,11 +1,39 @@ - SELECT job.id - , job.tag - , job.project_id - FROM job - WHERE job.id - NOT IN ( - SELECT jobresult.job_id - FROM jobresult - WHERE jobresult.worker_id = ? - ) - LIMIT ? +-- +-- job-todo.sql -- list jobs to perform for a worker +-- +-- Copyright (c) 2021 David Demelier <markand@malikania.fr> +-- +-- Permission to use, copy, modify, and/or distribute this software for any +-- purpose with or without fee is hereby granted, provided that the above +-- copyright notice and this permission notice appear in all copies. +-- +-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +-- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +-- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-- + +-- +-- This request won't list jobs that were created before the worker itself +-- otherwise when adding a new worker it would need to run potentially a very +-- high number of jobs +-- +SELECT job.id + , job.tag + , job.project_id + FROM job + WHERE job.id +NOT IN ( + SELECT jobresult.job_id + FROM jobresult + WHERE jobresult.worker_id = ? + ) + AND job.date >= ( + SELECT worker.date + FROM worker + WHERE worker.id = ? + ) + LIMIT ?