小程序Severless云函数支持定时触发云函数的功能,本文介绍如何使用云函数定时触发功能。

使用方法

调用UpdateFunction接口,通过设置参数TimingTriggerConfig来为云函数设置定时触发配置。

TimingTriggerConfig参数的值为一个cron表达式,例如cron:0 0 * * * *表示每个整点触发。

配置规则说明

配置规则仅支持设置cron表达式。

  • cron表达式使用限制:
    • cron表达式必须以cron:开头,中间不能包含多余的空格。
    • 当前限制云函数定时触发的频率为每小时最多触发一次,要求cron表达式中的仅支持配置固定的数字,不支持特殊字符。
    • cron表达式不支持配置
    说明 cron表达式中的星期字段同时指定为非*时,两者为关系,即两者的条件均生效。有一个指定为*,两者为关系。
  • cron表达式语法说明:

    cron表达式有六个必选字段,以空格分隔。其中,每个字段都有相应的取值范围。

    位置 字段 取值 特殊字符
    1 0~59。 不支持。
    2 0~59。 不支持。
    3 0~23。 逗号(,)、连接号(-)、星号(*)、正斜线(/)。
    4 1~31。(根据具体每月天数而定) 逗号(,)、连接号(-)、星号(*)、正斜线(/)。
    5 可填数字1~12或月份对应英文单词前三个字母的大写形式:{JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC}。 逗号(,)、连接号(-)、星号(*)、正斜线(/)。
    6 星期 可填数字0~7或星期对应英文单词的前三个字母的大写形式:{MON|TUE|WED|THU|FRI|SAT|SUN},其中数字0和7都表示周日。 逗号(,)、连接号(-)、星号(*)、正斜线(/)。
  • 特殊字符说明:
    特殊字符 含义
    逗号(,) 表示列出枚举值。例如:在字段中 2,3,4表示2点、3点和4点。
    连接号(-) 表示指定范围的所有值。例如:在字段中,1-5包含指定月份的1号到5号。
    星号(*) 表示所有值。例如:在字段中,*表示每个小时。
    正斜线(/) 表示起始时间开始触发,然后每隔固定时间触发一次。

    例如:在字段中,输入1/10以指定从第一分钟开始的每隔十分钟触发一次,第11分钟、第21分钟和第31分钟,以此类推。

云函数入参说明

在云函数中,通过ctx.args来获取执行参数。以下示例展示了定时触发时获取的参数:

{
  "timingTriggerConfig": "cron:0 0 * * * *",
  "timestamp": 1585670400006
}

其中:

  • timingTriggerConfig与用户设置的定时触发配置相同。
  • timestamp是触发执行的时间戳(毫秒),实际可能会略晚于cron表达式中设置的时间。