跳转到主要内容

简介

触发器仅适用于 Workflow 应用。
定时触发器能够让 Workflow 在指定的时间自动运行,适用于执行周期性重复任务,如生成每日报告或发送定时通知。

添加定时触发器

在 Workflow 画布上,单击右键并选择 添加节点 > 开始 > 定时触发器
一个 Workflow 可同时拥有多个并行的定时触发器。当并行的分支连续包含相同节点时,可在相同部分之前添加 变量聚合节点 以合并分支,而无需在每个分支中分别重复添加相同的节点。

配置定时触发器

你可以使用默认的可视化配置或 Cron 表达式来配置 Workflow 的运行计划。 完成配置后,你将看到接下来 5 次的计划运行时间。
定时触发器不产生任何输出变量。但每当其触发 Workflow 时,都会更新系统变量 sys.timestamp(每次工作流运行的开始时间)。

使用可视化配置

适用于简单的时度、日度、周度或月度运行计划。对于周度或月度计划,可同时选择多天。

使用 Cron 表达式

适用于更复杂和精确的运行计划,例如在工作日的上午 9 点到下午 5 点之间每 15 分钟运行一次。
你可以使用 LLM 来生成 Cron 表达式。

标准格式

Cron 表达式是一段可用于定义 Workflow 运行计划的字符串,由五个用空格分隔的字段组成,每个字段代表不同的时间单位。
确保每个字段之间有一个空格。
* * * * *
| | | | |
| | | | |── 星期几(0-7 或 SUN-SAT, 0 和 7 均表示星期日)
| | | |──── 月份(1-12 或 JAN-DEC)
| | |────── 日(1-31)
| |──────── 小时(0-23)
|────────── 分钟(0-59)
当同时为 星期几 字段指定值时,触发器将在匹配 任一 字段的日期运行。例如,1 2 3 4 4 会在 4 月 3 日 以及 4 月的每个星期四触发 Workflow,而不仅仅是在 4 月 3 号当天刚好是星期四时触发。

特殊字符

字符
描述示例
*表示「每个」。小时 字段中的 * 表示「每个小时」。
,分隔多个值。星期几 字段中的 1,3,5 表示「星期一、星期三和星期五」。
-定义值的范围。小时 字段中的 9-17 表示「上午 9 点到下午 5 点」。
/指定步进值。分钟 字段中的 */15 表示「每 15 分钟」。
L表示「最后」。

字段中,表示「月的最后一天」。

星期几 字段中:
  • 单独使用时,表示「周的最后一天」。
  • 与数字组合使用时,表示「月的最后一个指定的星期几」。
字段中的 L 表示「1 月 31 日、4 月 30 日,或非闰年的 2 月 28 日」。

星期几 字段中的 L 表示「星期日」。

星期几 字段中的 5L 表示「月的最后一个星期五」。
?表示「任意」或「无特定值」。

如果你为 星期几 字段指定了值,可以用 ? 来忽略 字段,反之亦然。

非必需,因为 * 也可实现相同效果。
若要在每个星期一运行,将 字段设为 ? 会比设为 * 更精确。

预定义表达式

  • @yearly:每年一次,在 1 月 1 日的凌晨 12 点运行。
  • @monthly:每月一次,在每月第一天的凌晨 12 点运行。
  • @weekly:每周一次,在星期日的凌晨 12 点运行。
  • @daily:每天一次,在凌晨 12 点运行。
  • @hourly:在每小时开始时运行。

示例

运行时间Cron 表达式
工作日上午 9 点0 9 * * MON-FRI or 0 9 * * 1-5
每周三下午 2:3030 14 * * WED
每周日凌晨 12 点0 0 * * 0
每周二每 2 小时一次0 */2 * * 2
每月第一天凌晨 12 点0 0 1 * *
1 月 1 日和 6 月 1 日的中午 12 点0 12 1 JAN,JUN *
每月最后一天下午 5 点0 17 L * *
每月最后一个星期五晚上 10 点0 22 * * 5L

测试定时触发器

  • 运行此步骤:定时触发器会忽略已配置的计划,立即运行。
  • 测试运行:定时触发器会等待其下一个计划运行时间。