调度与触发器(Trigger)决定工作流何时开始运行。本节是 调度的中心文档 :所有任务类型的调度均通过工作流统一配置,任务级无需单独设置调度周期。涵盖定时触发、持续运行两种触发方式。
概述
DataBuddy 工作流支持以下触发方式:
触发方式 | 适用场景 |
定时触发 | 周期性任务(每天 / 每小时 / 每周 / 每月 / 每年) |
持续运行 | 一次实例完成后立即触发下一次,常用于流式处理 |
手动触发 | 不配置调度,仅手动 / API 触发;不需要单独选项,未配置调度即视为手动触发 |
调度状态分为 启动 和 暂停 :暂停状态下工作流不会按调度触发,但仍可通过手动触发运行。
前提条件
已是工作流的所有者或被授予「管理」权限。
工作流内至少包含一个任务节点。
操作步骤
步骤 1:进入调度配置
1. 登录 DataBuddy 控制台,进入目标工作空间。
2. 在左侧导航栏选择 数据工程 > Workflow ,在工作流列表中单击目标工作流名称,进入工作流详情页。
3. 在右侧侧栏单击 调度配置 。
4. 单击 添加调度 ,打开调度配置弹窗。
步骤 2:选择触发方式
在弹窗中选择 触发方式 :定时触发、持续运行。两种方式的配置项不同,参考下方分组说明。
定时触发
通用配置
参数 | 说明 | 是否必填 | 默认值 |
调度状态 | 启动 / 暂停 | 是 | 启动 |
调度时区 | 工作流的执行时区,影响调度时间计算。 | 是 | 当地时区 |
调度时间范围 | 调度生效的开始时间和结束时间,精确到分钟。 | 是 | 开始时间=当前时间;结束时间=2099-12-31 |
配置方式 | 常规 / Cron 表达式 | 是 | 常规 |
调度周期 | 仅常规模式:天 / 小时 / 分钟 / 周 / 月 / 年 | 是 | 天 |
提示
若选择观察夏令时的时区,每小时执行的任务在夏令时切换时可能跳过 1 小时或延迟 1 小时。如需绝对时间,请选择 UTC 时区。
常规模式按周期细分
周期 | 配置项 |
天 | 执行时间(00:00 – 23:59,到分钟) |
小时(指定间隔) | 每 1–12 小时;从 [开始时间] 到 [结束时间]。间隔不跨天,每天重新从起始小时计算。 |
小时(指定时间) | 选择多个具体小时 + 分钟 |
分钟 | 每 1–30 分钟;从 [开始时间] 到 [结束时间]。间隔不跨小时,每小时重新从起始分钟计算。 |
周 | 执行日期(多选:星期日–星期六)+ 执行时间 |
月 | 执行日期(多选:1–31 号 或 月末,两者不可同时选择)+ 执行时间 |
年 | 月份(多选:1–12 月)+ 日期(多选:1–31 号、月末)+ 执行时间 |
Cron 模式
参数 | 说明 |
Cron 表达式 | 采用 7 段格式「秒 分 时 日 月 周 年」,如 0 0 0 * * ? * 表示每天 00:00 执行。 |
注意
Cron 最小调度间隔为 1 分钟。若 Cron 配置间隔小于 1 分钟,系统会按每分钟一次起调。
结果预览
填写完成后单击 结果预览 ,下方展示最近 5 次预计运行时间。
持续运行
参数 | 说明 | 是否必填 | 默认值 |
调度状态 | 启动 / 暂停 | 是 | 启动 |
任务重试模式 | 失败 / 从不 | 是 | 失败 |
持续运行规则
工作流前一次运行到达终态后,间隔 60 秒触发下一次。
不支持任务间依赖 :所有任务并行运行。
不支持任务级重试策略 :通过任务重试模式控制(失败、从不)。
同一时间只能运行 1 个实例 :重新启动会终止前一次未完成的运行。
不支持高级配置(排队、最大并发) :持续运行模式下不适用。
提示
启动持续运行后,工作流操作栏的「运行」按钮变为「重新启动运行」。单击会终止当前运行并重新启动,该次运行记录的触发方式为手动触发;持续运行 trigger 仍正常触发后续运行。
步骤 3:保存调度配置
1. 完成参数填写。
2. 单击 确定 保存。
3. 调度配置区域显示当前配置摘要,例如:
启动 - 每天 00:00 执行 (UTC+08:00 — Beijing, Chongqing)
步骤 4:暂停、启动、删除调度
在调度配置区域:
暂停调度 / 启动调度 :切换调度状态。
删除调度 :删除调度配置,工作流回到「未配置调度」状态。
步骤 5:手动触发或高级运行
无论是否配置调度,您都可以在工作流详情页操作栏:
运行 :使用已保存的参数立即触发一次。
高级运行 :自定义本次运行的参数与执行任务范围。
使用限制
Cron 最小间隔为 1 分钟;小于 1 分钟会按每分钟起调。
持续运行不支持任务依赖、任务级重试与高级配置(排队、最大并发)。
调度时间范围结束后,工作流自动停止生成实例;如需延长,请编辑调度配置。
常见问题
Q1:调度状态是「启动」但没看到周期实例?
检查调度时间范围是否覆盖当前时间。
检查工作流是否有可运行的任务(任务为空时不会生成实例)。
检查工作流并发是否达到上限(详见 其他配置 的「高级设置」)。