DolphinScheduler笔记之5: 普通任务CommonTaskProcessor
原文中文,约9200字,阅读约需22分钟。发表于: 。接上一篇笔记,这里总计下普通任务在 master 的处理过程。 DolphinScheduler 里的任务类型,按照逻辑可以分为两种: 普通任务:具体执行的任务,例如 Shell、SQL、Flink 等,相当于编程语言里的函数、计算 条件分支:用于判断下一个任务是否执行,例如 Dependent、Conditions、Switch 等,相当于编程语言里的 while/for/if...
本文介绍了 DolphinScheduler 中普通任务在 master 的处理过程,包括任务状态、失败重试、触发下游节点等。通过封装 BaseTaskProcessor 实现了普通任务和条件分支任务在处理流程上的统一。CommonTaskProcessor 继承自 BaseTaskProcessor,实现了任务的提交、分发和运行等过程。任务的分发通过 TaskPriorityQueueImpl 队列实现,通过线程池执行分发任务到 worker。需要考虑的问题包括状态持久化、负载均衡、网络协议、线程隔离等。