#869: Avoid bibtask runtime drifting
-------------------------+-----------------
Reporter: skaplun | Owner:
Type: enhancement | Status: new
Priority: major | Milestone:
Component: BibSched | Version:
Keywords: |
-------------------------+-----------------
Currently a '''recurrent bibtask''' is rescheduled in the future by
''summing the {{{current starting time}}} (or the time specified by
--runtime), and {{{sleeptime}}}.''
Since bibsched implements a ''best-effort scheduling algorithm'' it will
try to execute the given recurrent bibtask at a time equal or greater than
the above.
This lead to a small (sometime big) drifting of the execution of the task
which ends up being executed every ''sleeptime'' + ''delta'' seconds.
A typical issue of the this drifting is with the '''oaiharvest''' task.
E.g. suppose that this need to be executed always after a remote
repository has been updated (e.g. say at 4 a.m. everyday). Currently, due
to this drifting, the task would be scheduled everyday a bit later until
it would completely miss the remote update.
This can be solved by changing the rescheduling rule by no longer using
the current starting time, but by summing enough times ''"sleeptime"'' to
the original ''"runtime"'' until the scheduled time is in the future.
--
Ticket URL: <http://invenio-software.org/ticket/869>
Invenio <http://invenio-software.org>