#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>

Reply via email to