【笔记】定时触发器怎么用
发布于 4 年前 作者 yanxia 1152 次浏览 来自 分享

定时触发器可以处理周期性的事情,比如时报、日报、周报、在线答题活动开始等通知提醒,也可以处理倒计时任务,比如节假日、纪念日、答题小程序中的限时答题等的倒计时任务,除此之外,定时触发器还可以用来周期性处理一些定时任务。比如定期清理一些不必要的数据,定期更新集合内的数据。

定时触发器怎么用:

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选择“上传触发器”。

这里的“云函数增量上传:更新文件”是让云函数端的触发器文件更新;而“上传触发器”则是让触发器开始生效执行。不能在云函数端的触发器没有更新的情况下就“上传触发器”来执行定时触发,因为你的文件没有更新,执行的还是旧的触发器内容。


1 回复

下面展示了一些 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 表达式中的“日”和“星期”字段同时指定值时,两者为“或”的关系,即两者的条件均生效。更多内容大家可以查看技术文档。

回到顶部