定时任务(Scheduler)作为触发器,用于按设定的规则定时触发一条流。图形化 Scheduler 支持以下三种触发模式:
单次触发:支持选择多个指定的时间点触发。
周期触发:按照固定的周期触发。
Cron 表达式:配置中包含一条或多条 Cron 规则,当任意一条 Cron 规则与当前时间匹配时,该定时器所在的集成流将被触发。
| 参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|---|
| 触发模式 | Int | 设置触发模式:单次触发,周期触发,Cron表达式 | 是 | 0(Cron表达式模式) |
| Cron 表达式 | string | 设置触发规则,例如每分钟触发1次等 | 是 | 无 |
| 时区 | string | 指定时区 | 是 | 亚洲/北京 UTC+08:00 |
| 仅在上次任务执行完后触发 | bool | 若勾选则仅在上次任务执行完后触发 | 否 | false |
Scheduler 包含一条或多条 Cron 规则,当存在多条规则时,使用 \r 分隔,Cron 表达式的配置规则如下:
| 参数 | 含义 | 取值范围 |
|---|---|---|
| seconds | 秒 | 0 - 59 |
| minutes | 分钟 | 0 - 59 |
| hours | 小时 | 0 - 23 |
| days | 日期(选填,默认每天) | 1 - 31 |
| months | 月份(选填,默认每月) | 1 - 12 |
| weekdays | 星期几(选填,默认不指定) | 1 - 7 |
| years | 年份(选填,默认每年) | 1970 - 2099 |
在配置 Cron 表达式时,可使用以下运算符:
* 表示任意匹配,例如 hours="*" 表示每个小时。
- 表示范围,例如 weekdays="1-5" 表示周一至周五。
, 表示并列,例如 months="1,3,5,7,8,10,12" 表示大月。
/ 表示增量,例如 hours="8/2" ,表示8点开始,每两个小时。
L 表示最后一个,例如 weekdays="6L" ,表示当月最后一个周六。
? 表示不指定。这里有一个约束,即年月日和星期几中至少要有一个为不指定。这是为了避免冲突,例如同时指定2020年2月20日(原本周四)和周三。默认星期几是不指定的。

Scheduler 作为 trigger 组件,是集成流的第一个组件,Scheduler 会生成一个空的 message 消息,触发集成流的运行。
组件输出的 message 信息如下:
| message 属性 | 值 |
|---|---|
| payload | 空,没有值存在 |
| error |
|
| attribute | 空,没有值存在 |
| variable | 空,没有值存 |

每30秒触发一次:
2023年1月1日0时0分0秒触发一次:
每5分钟触发一次: