#796: BibSched: introduce task sequences
-------------------------+----------------------
Reporter: simko | Owner: vvenkatr
Type: enhancement | Status: new
Priority: major | Milestone:
Component: BibSched | Version:
Keywords: |
-------------------------+----------------------
BibSched allows for parallel task execution via manipulating
`CFG_BIBSCHED_MAX_NUMBER_CONCURRENT_TASKS`. This facility has been
recently revived and retested and it seems to work well. However,
sometimes there is a need to execute certain tasks in a sequence. For
example, a submission may launch force-indexing and force-webcolling jobs,
but the latter can run only when the former finishes. The current
parallel task execution facility on multiple nodes could start both tasks
in parallel, which is not what we want.
A facility to specify that certain tasks need to be run in a sequence is
therefore needed. One possible way to achieve this is to define a new
optional argument to bibtask called say "task sequence ID" and to submit
tasks that we want to execute as part of the same sequence in the
following way:
{{{
$ bibindex -u admin -a -i 1234 --sequence-id 234oanu6624
[...]
Task #456 submitted.
$ webcoll -u admin -c Theses --sequence-id 234oanu6624
Task #459 submitted.
}}}
The bibsched daemon will then study the incoming task IDs together with
task sequence IDs and it will not allow the parallel execution of task 459
before task 456 finishes.
IOW, if there are incoming tasks T1, T2, ..., Tn having the same task
sequence ID set, then bibsched will not allow execution of task T_i unless
all tasks `T1, T2, ... T_(i-1)` have been previously run.
(This regardless of task priorities.)
--
Ticket URL: <http://invenio-software.org/ticket/796>
Invenio <http://invenio-software.org>