【问题标题】:Serverless Cron Syntax For Scheduled Lambda用于计划 Lambda 的无服务器 Cron 语法
【发布时间】:2017-05-18 05:14:09
【问题描述】:

如何编写 cron 语法来安排 Lambda 在每小时开始时每十分钟运行一次?这是我尝试过但一直遇到错误的方法:

users-cron:
  handler: functions/users.cron
  events:
    - schedule:
        rate: rate(10 minutes)
    - schedule:
        rate: cron(0-10 0-23 ? * MON-SUN *)

【问题讨论】:

    标签: amazon-web-services cron amazon-cloudwatch serverless-framework


    【解决方案1】:

    表单docs,有一个非常相似的例子:

    周一至周五每 10 分钟调用一次 Lambda 函数
    cron(0/10 * ? * MON-FRI *)

    你可以试试:

    users-cron:
      handler: functions/users.cron
      events:
        - schedule:
            rate: cron(0/10 * ? * * *)
    

    【讨论】:

    • 您了解问号 ? 和星号 * 之间的区别吗?例如,为什么不将 ,? 替换为星号?它的行为方式会不会相同?如果不是,计划作业的行为会有什么不同?
    • 来自同一链接:* - Specifies All values? - No specified valueOne of the day-of-month or day-of-week values must be a question mark (?).
    【解决方案2】:

    这是回答我问题的确切语法:

    users-cron:
      handler: functions/users.cron
      events:
        - schedule:
            rate: cron(0/10 0-23 ? * MON-SUN *)
    

    【讨论】:

    • 为什么不删除第一个时间表?看来,如果您保留rate: rate(10 minutes),您的函数将执行两次。不同之处在于,这 10 分钟的执行将在函数部署时开始,而不是在整点开始。
    • 另外,使用0-23* 表示小时,MON-SUN* 表示星期是等效的语法。星号表示Specifies All values
    • 你是对的!抱歉,这是一种类型。我删除了,rate: rate(10 minutes)
    猜你喜欢
    • 2017-01-28
    • 2021-04-06
    • 2017-03-16
    • 1970-01-01
    • 2011-12-18
    • 2015-02-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    相关资源
    最近更新 更多