...
- Check taskAssignQueue if empty request Receptionist
- Receive a job from Receptionist
- schedule active tasks to particular GroomServer(s)
- Wait for GroomServer request, with GroomServerSpec, for task assign.
No Format if active tasks scheduled to the same groom server + to be assigned task > GroomServerSpec.totalSlots skip GroomServer's TaskManager request else dispatch directive(task)
- Check if all tasks for a job is scheduled/ assigned
- if true, move the job to processingQueue else wait for GroomServer request.
- If RescheduledTask event triggered,
- Stop all tasks of a job/ jobs
- Move failed jobs to a temp queue
- Reschedule (recalculate split, etc.?) tasks for jobs sequentially.