一个立即执行的任务会经过
1.将command持久化到 mysql表中
2.MasterSchedulerService 定时扫描表 会将待处理任务进行封装为ProcessInstance
3.遍历进程实例,通过workFlowExecuteThread线程调度执行
4.根据进程实例进行 dag构建,初始化队列,提交任务
5.调用dispatchTask进行服务提交,在提交是会对taskUpdateQueue进行检查 是否初始化,如果没有初始化会先进行初始化然后将任务封装为 TaskPriority 放入队列
6.TaskPriorityqueueueConsumer 不断轮询队列中的数据,接收到dispatcher的TaskPriority, 进行提交
7. 调用Client进行worker的Handler进行处理 -> 这里已经转接给 WorkerServer
具体的流程图:
原图看下面链接