定时触发器可以处理周期性的事情,比如时报、日报、周报、在线答题活动开始等通知提醒,也可以处理倒计时任务,比如节假日、纪念日、答题小程序中的限时答题等的倒计时任务,除此之外,定时触发器还可以用来周期性处理一些定时任务。比如定期清理一些不必要的数据,定期更新集合内的数据。
定时触发器怎么用:
1、首先要保证该云函数在小程序端可以调用成功;
2、你的config.json文件是否配置正确,config.json文件可以用来配置权限和定时触发器,比如该云函数需要使用到订阅消息权限,以及每30秒钟定时发送一次订阅消息,config.json的写法如下:
{
"permissions": {
"openapi": [
"subscribeMessage.send"
]
},
"triggers": [
{
"name": "myTrigger",
"type": "timer",
"config": "*/30 * * * * * *"
}
]
}
config.json配置文件的格式,数组最后一项不能有逗号,;配置文件里不能有注释等;Cron 表达式有七个必需字段,不能多也不能少;
3、务必要注意的是更新触发器文件和上传触发器两个概念的不同。当我们在修改触发器配置文件config.json后,首先鼠标右键config.json选择“云函数增量上传:更新文件”,然后再右键config.json选择“上传触发器”。
这里的“云函数增量上传:更新文件”是让云函数端的触发器文件更新;而“上传触发器”则是让触发器开始生效执行。不能在云函数端的触发器没有更新的情况下就“上传触发器”来执行定时触发,因为你的文件没有更新,执行的还是旧的触发器内容。
下面展示了一些 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点触发
在 Cron 表达式中的“日”和“星期”字段同时指定值时,两者为“或”的关系,即两者的条件均生效。更多内容大家可以查看技术文档。