【问题标题】:How to schedule AWS Lambda to run exactly at 12:00:00 am (second-level precision)?如何安排 AWS Lambda 在凌晨 12:00:00 准确运行(秒级精度)?
【发布时间】:2020-06-26 00:18:30
【问题描述】:

我有一个用例,我需要每天凌晨 12:00:00 运行一个函数。我的 Python 代码需要 3-4 秒来初始化和 3 秒来执行。如果我的函数在凌晨 12:00:00 之后的 1 秒内触发仍然可以,但我无法使用 AWS CloudWatch 触发的 AWS Lambda。

我创建了一个 AWS Lambda 函数,它在晚上 11:59 使用 AWS CloudWatch Events 触发,因为它does not provide second level precision。因此,在初始化为睡眠到凌晨 12:00:00 之后,浪费了平均 15 到 45 秒之间的计算时间

虽然价格仍然很低,但我只是觉得大部分(>75%)的计算时间都用于睡眠而感到恼火。其他人有更好的主意吗?

【问题讨论】:

  • 您当前的流程似乎是最好的方法。与您对这种准确性的明显期望相比,那一分钟 Lambda 函数的成本是微不足道的。
  • 我明白了,感谢您的意见。只是想看看我是否错过了什么。

标签: amazon-web-services aws-lambda cron amazon-cloudwatch


【解决方案1】:

您是否尝试过使用 cron 表达式调度 lambda 执行?

这个表达式 0 0 * * ? * 将在格林威治标准时间午夜每天运行您的 lambda。 根据您的时区进行相应调整。

【讨论】:

  • 根据 AWS 文档(并自己尝试过),它不会在第 0 秒准确运行,即上午 12:00:00。
猜你喜欢
  • 2021-07-12
  • 2015-12-29
  • 1970-01-01
  • 1970-01-01
  • 2020-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多