Scheduler

最近更新时间:2023-06-08 14:47:56

我的收藏

简介

Scheduler 是定时器,用于按设定的规则定时触发一条流。图形化 Scheduler 支持三种触发模式:单次触发、周期触发和 Cron 表达式。
单次触发模式:支持选择多个指定的时间点触发。
周期触发模式:按照固定的周期触发。
Cron 表达式模式:配置中包含一条或多条 Cron 规则,当任意一条 Cron 规则与当前时间匹配时,该定时器所在的集成流将被触发。

操作配置

参数配置

参数
数据类型
描述
是否必填
默认值
触发模式
Int
设置触发模式:单次触发,周期触发,Cron 表达式
0(Cron 表达式模式)
Cron表达式
string
设置触发规则,例如每分钟触发1次等
时区
string
指定时区
UTC+08:00
排队调度
bool
若勾选当前有未结束的作业时跳过本次执行,则为 true
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
执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息。
attribute
空,没有值存在。
variable
空,没有值存在。

案例

单次触发模式

2025年1月1日0时0分0秒触发一次。




周期触发模式

每5秒触发一次。



每1分钟的0秒触发一次。




Cron表达式模式

每5分钟触发一次。



每天8点触发。