使用lambda和serverless,在特定的日期和时间只运行一次CRON的CRON表达式是什么?

问题描述 投票:1回答:1

我在下面的代码块中加入了 serverless.yml 文件来安排一个CRON。

testCron1:
    handler: handler.testCron1
    events:
      - schedule: cron(15 14 22 MAY FRI 2020)

然后我创建一个 testCron1 兰姆达函数 handle.js 文件。

const testCron1 = (event, context) => {
    return new Promise(async (resolve, reject) => {
        console.log("*********** NEW est CRON ************");
        console.log("Current Time ==> ", new Date(moment().utc().format()));
        resolve(true);
    });
}

当我尝试使用命令 serverless deploy它给了我下面的错误。

An error occurred: TestCron1EventsRuleSchedule1 - Parameter ScheduleExpression is not valid. (Service: AmazonCloudWatchEvents; Status Code: 400; Error Code:ValidationException; Request ID: c5b3178b-348a-4ffd-a205-d5255dcca2ab)
node.js cron serverless node-schedule
1个回答
1
投票

如果你使用lambda使用云观察作为cron触发器。

在特定的时间用云表处理lambda函数的触发会很容易。

你可以在这里找到触发规则表达式。https:/docs.aws.amazon.comAmazonCloudWatchlatesteventsScheduledEvents.html。

支持的值列表你可以在这里查看。https:/docs.aws.amazon.comsystems-managerlatestuserguidereference-cron-and-rat-expressions.html。

Example cron : 0 11 17 4 ? 2020 min hours day month dayOfWeek year

This will execute once on FRI, 17 APR 2020 11:00:00 GMT as an example.
© www.soinside.com 2019 - 2024. All rights reserved.