小程序入门28:使用定时触发器

314 阅读2分钟

写在前面

本篇文章是微信小程序开发入门的第二十八篇,使用定时触发器

定时触发器

可以先查看官方文档-定时触发器

使用定时触发器:在需要添加触发器的云函数目录下新建文件 config.json,增加一个triggers数组,该数组长度最多为1,因为当前一个云函数只支持1个定时触发器

triggers数组对象包括以下三个字段:

  • name: 触发器的名字
  • type: 触发器类型
  • config: 触发器配置,格式为 cron 表达式

cron 表达式

cron 表达式有七个必需字段,按空格分隔,例如:"0 0 2 1 * * *",表示每个月的1号凌晨2点,分别如下:

字段分钟小时星期
0-59 的整数0-59 的整数0-23 的整数1-31 的整数(需考虑月天数)1-12 的整数0-6 的整数1970~2099 的整数

除了上面的值外,还可以使用通配符:

通配符含义
, (逗号)代表取用逗号隔开的字符的并集。例如:在“小时”字段中 1,2,3 表示1点、2点和3点
- (破折号)包含指定范围的所有值。例如:在“日”字段中,1-15 包含指定月份的 1 号到 15 号
* (星号)表示所有值
/ (正斜杠)在“分钟”字段中,输入 1/10 以指定从第一分钟开始的每隔十分钟重复。例如,第 11 分钟、第 21 分钟和第 31 分钟,依此类推

使用定时触发器

数据库集合

我们打开云开发控制台,增加一个数据库集合,命名为“qua-alarm”

qua-alarm集合包含以下字段:

  • _id:记录id
  • fruit:水果信息
  • alarmQua:警报数值
  • createTime:警报触发时间
  • quaAlarmNum:库存下限
  • alarmDay:警报持续天数
  • isClose:警报是否结束

云函数

我们在项目中新建一个Nodejs云函数,命名为“qua-alarm”,我们可以看到该目录下已经存在config.json文件

我们想要在每天凌晨1点定时生成库存警报,按照要求增加代码如下:

{
  "permissions": {
    "openapi": []
  },
  "triggers": [
    {
      "name": "quaAlarm",
      "type": "timer",
      "config": "0 0 1 * * * *"
    }
  ]
}

写在最后

以上就是使用定时触发器的全部代码