名词定义
- 流程定义(ProcessDefine):通过拖拽任务节点并建立任务节点的关联所形成的可视化DAG
- 流程实例(ProcessInstance):流程实例是流程定义的实例化,可以通过手工调度或定时调度来生成,流程定义每运行一次,生成一个流程实例
- 任务实例 (TaskInstance):流程定义中任务节点的实例化,标识着具体任务的执行状态
- 任务类型(TaskType):目前支持有SHELL、SQL、SUB_PROCESS(子流程)、PROCEDURE、MR、SPARK、PYTHON、DEPENDENT(依赖),同时计划支持动态插件扩展,注意:其中子 SUB_PROCESS 也是一个单独的流程定义,是可以单独启动执行的
- 调度方式(ScheduleTyep):cron表达式的定时调度和手动调度。命令类型支持:启动工作流,从当前节点开始执行,恢复被容错的工作流,恢复暂停流程,从失败节点开始执行
- 定时调度:quartz分布式调度器,同时支持cron表达式可视化生成
- 依赖:不仅仅是任务节点的前后依赖,还支持任务依赖节点,流程间的自定义任务依赖
- 优先级:流程实例和任务实例的优先级设置。如果不设置,就是FIFO,先进先出
- 失败策略:并行运行的任务,如果任务失败,提供两种失败处理策略。