概述
WeData 数据开发模块支持两种调度模式:任务调度和工作流调度。本文帮助您了解两种模式的核心区别,以便在创建项目时做出合适的选择。
注意:
一个项目仅支持配置一种调度模式,一旦配置则不支持修改,请谨慎选择。
任务调度模式与工作流调度模式的任务不能互相依赖,即跨调度模式的项目之间无法建立依赖关系。
本质区别
调度粒度不同
工作流调度:以工作流为整体粒度执行,调度配置统一在工作流上,工作流内所有任务作为一个整体被调度运行。
任务调度:以任务为独立粒度执行,每个任务单独配置调度策略,可拥有不同的调度周期。
实例唯一性不同
任务调度:同一个任务在同一个调度时间的实例是唯一的。周期调度、补录、重跑共享同一实例空间,三者之间存在关联关系。
工作流调度:同一个调度时间可能存在多个运行实例。周期运行、手动运行、重跑之间相互独立,互不影响。
功能差异
功能 | 任务调度 | 工作流调度 |
跨工作流依赖 | 支持 | 不支持 |
跨项目依赖 | 支持 | 不支持 |
嵌套工作流 | 不支持 | 支持(作为跨工作流依赖的替代方案),被嵌套工作流跟随外部工作流的调度配置运行 |
补录 | 支持,补录与周期调度实例关联 | 不支持,通过"运行"(手动触发)替代,产生独立运行实例 |
调度配置粒度 | 任务粒度,每个任务可独立设置调度周期、依赖策略 | 工作流粒度,支持定时触发和文件到达触发,不配置调度即为手动触发 |
标准模式 | 支持 | 暂不支持 |
跨项目克隆 | 支持 | 暂不支持 |
导入导出 | 支持 | 暂不支持 |
CI/CD | 支持 | 支持 |
运维大屏 | 支持 | 暂不支持 |
基线监控 | 支持 | 暂不支持 |
运维粒度 | 以任务实例为主体 | 以工作流运行记录为主体,可下钻到任务级别 |
暂停/下线/启动 | 支持 | 不支持 |
告警对象 | 任务级别告警 | 支持工作流级别和任务级别告警 |
调度模式选择建议
选择任务调度:
任务间调度周期差异大。
需要跨工作流、跨项目依赖。
选择工作流调度:
一组任务共享相同调度周期,需作为整体统一调度。
通过嵌套工作流管理多工作流间的调度关系。
希望简化调度配置。