DolphinScheduler 任务执行源码流程分析

一个立即执行的任务会经过

1.将command持久化到 mysql表中

2.MasterSchedulerService 定时扫描表 会将待处理任务进行封装为ProcessInstance

3.遍历进程实例,通过workFlowExecuteThread线程调度执行

4.根据进程实例进行 dag构建,初始化队列,提交任务

5.调用dispatchTask进行服务提交,在提交是会对taskUpdateQueue进行检查 是否初始化,如果没有初始化会先进行初始化然后将任务封装为 TaskPriority 放入队列

6.TaskPriorityqueueueConsumer 不断轮询队列中的数据,接收到dispatcher的TaskPriority, 进行提交

7. 调用Client进行worker的Handler进行处理 -> 这里已经转接给 WorkerServer

具体的流程图:

 

原图看下面链接 

dolphinScheduler | ProcessOn免费在线作图,在线流程图,在线思维导图 |


版权声明:本文为bwddd原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。