1.执行时机:
conductor调度的核心是decider service,其根据当前流程运行的状态,解析出将要执行的任务列表,将任务入队交给worker执行。
最主要的触发时机:
- 新启动执行时,会触发decide操作
- 系统任务执行完成时,会触发decide操作
- Workder任务通过ExecutionService更新任务状态时,会触发decide操作
2. decide流程:
decide主要流程简化如下,详细代码见WorkflowExecutor.java的decide方法:
其中,调度任务处理流程简化如下,详细代码见WorkflowExecutor.java的scheduleTask方法: