定时触发器

最近更新时间:2023-04-10 10:06:33

我的收藏
您可以使用定时触发器结合云函数,实现定时任务的功能。

设置定时触发器

云开发 CloudBase 控制台
CloudBase CLI 工具
进入 云函数管理页面,选择要配置的函数。

单击编辑,修改表单的定时触发器选项,可以上传配置文件或配置内容。


详情请参见 CloudBase CLI 文档

配置示例

{
// triggers 字段是触发器数组,目前仅支持一个触发器,即数组只能填写一个,不可添加多个
"triggers": [
{
// name: 触发器的名字,规则见下方说明
"name": "myTrigger",
// type: 触发器类型,目前仅支持 timer (即定时触发器)
"type": "timer",
// config: 触发器配置,在定时触发器下,config 格式为 cron 表达式,规则见下方说明
"config": "0 0 2 1 * * *"
}
]
}

配置详解

字段规则

定时触发器名称(name):最大支持 60 个字符,支持 a-zA-Z0-9-_。必须以字母开头,且一个函数下不支持同名的多个定时触发器。
定时触发器触发周期(config):指定的函数触发时间。填写自定义标准的 Cron 表达式来决定何时触发函数。有关 Cron 表达式的更多信息,请参见以下内容。

Cron 表达式

Cron 表达式有七个必需字段,按空格分隔。其中,每个字段都有相应的取值范围:
排序
字段
第一位
0 - 59 的整数
第二位
分钟
0 - 59 的整数
第三位
小时
0 - 23 的整数
第四位
1 - 31 的整数(需要考虑月的天数)
第五位
1 - 12 的整数或 JAN、FEB、MAR、APR、MAY、JUN、JUL、AUG、SEP、OCT、NOV 和 DEC
第六位
星期
0 - 6 的整数或 MON、TUE、WED、THU、FRI、SAT 和 SUN,其中 0 指周日,1 指星期一,以此类推
第七位
1970 - 2099 的整数

通配符

通配符
含义
,
代表取用逗号隔开的字符的并集。例如:在“小时”字段中 1,2,3 表示 1 点、2 点和 3 点。
-
包含指定范围的所有值。例如:在“日”字段中,1 - 15 包含指定月份的 1 号到 15 号。
*
表示所有值。在“小时”字段中,表示每个小时。
/
指定增量。在“分钟”字段中,输入 1/10 以指定从第一分钟开始的每隔十分钟重复。例如,第 11 分钟、第 21 分钟和第 31 分钟,以此类推。
说明
在 Cron 表达式中的“日”和“星期”字段同时指定值时,两者为“或”关系,即两者的条件均生效。

cronjob 示例

下面列举一些 Cron 表达式和相关含义:
*/5 * * * * * * 表示每 5 秒触发一次。
0 0 2 1 * * * 表示在每月的 1 日的凌晨 2 点触发。
0 15 10 * * MON-FRI * 表示在周一到周五每天上午 10:15 触发。
0 0 10,14,16 * * * * 表示在每天上午 10 点,下午 2 点,下午 4 点触发。
0 */30 9-17 * * * * 表示在每天上午 9 点到下午 5 点内每半小时触发。
0 0 12 * * WED * 表示在每个星期三中午 12 点触发。