- Check taskAssignQueue if empty request Receptionist
- Receive a job from Receptionist
schedule active tasks to particular GroomServer(s)
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.