tencent cloud

文档反馈

定时触发器说明

最后更新时间:2024-04-19 16:44:05
    用户可以编写 SCF 函数来处理定时任务(支持秒级触发)。定时器会在指定时间自动触发 SCF 函数。定时触发器具有以下特点:
    Push 模型:定时器指定时间到达时直接调用相关函数的 Invoke 接口来触发函数。该事件源映射关系保存在 SCF 函数中。
    异步调用:定时器始终使用异步调用类型来调用函数,结果不会返回给调用方。有关调用类型的更多信息,请参阅 调用类型

    定时触发器属性

    定时器名称(必选):最大支持60个字符,支持 a-zA-Z0-9-_。必须以字母开头,且一个函数下不支持同名的多个定时触发器。
    触发周期(必选):指定的函数触发时间。用户可以使用控制台上的默认值,或选择自定义标准的 Cron 表达式来决定何时触发函数。有关 Cron 表达式的更多信息,请参考下面的内容。
    入参(可选):最大支持4KB的字符串,可以在入口函数的 “event” 参数中获取。

    Cron 表达式

    创建定时触发器时,用户能够使用标准的 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的整数或 SUN,MON,TUE,WED,THU,FRI,SAT。其中0指星期日,1指星期一,以此类推
    , - * /
    1970 - 2099的整数
    , - * /

    Cron 表达式语法二(不推荐)

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

    通配符

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

    注意事项

    在 Cron 表达式中的“日”和“星期”字段同时指定值时,两者为“或”关系,即两者的条件分别均生效。

    示例

    下面展示了一些 Cron 表达式和相关含义的示例:
    表达式
    相关含义
    */5 * * * * * *
    表示每5秒触发一次
    0 15 10 1 * * *
    表示在每月的1日的上午10:15触发
    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点触发

    定时触发器入参说明

    定时触发器在触发函数时,会把如下的数据结构封装在 event 里传给云函数。同时,定时触发器支持自定义传入 Message,缺省为空。
    {
    "Type":"Timer",
    "TriggerName":"EveryDay",
    "Time":"2019-02-21T11:49:00Z",
    "Message":"user define msg body"
    }
    字段
    含义
    Type
    触发器的类型,值为 Timer
    TriggerName
    定时触发器的名称。最大支持60个字符,支持 a-zA-Z0-9-_。必须以字母开头,且一个函数下不支持同名的多个定时触发器
    Time
    触发器创建时间,0时区
    Message
    字符串类型
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持