Procedure

  • Check taskAssignQueue if empty request Receptionist
  • Receive a job from Receptionist
  • Wait for GroomServer request, with GroomServerSpec, for task assign.
    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.
  • No labels