如何将aws lambda函数的执行时间增加5分钟以上?

Abh*_*jar 9 java amazon-s3 aws-lambda

我有lambda函数,运行时间超过5分钟.如何将lambda函数的执行时间增加超过5分钟,这样我的程序可以继续运行?

END RequestId:5b676871-1eef-1xex-bxxa-47xxxxad8d63最后一行在cloudwatch中显示.它会自动结束请求.请帮助.谢谢

Udo*_*eld 17

您不能将运行时间增加到超过15分钟.

AWS LAMBDA limit指出的Maximum execution duration per request900 seconds因此15 minutes.如果您需要超过15分钟的执行时间,您必须查看其他服务.您可以查看AWS Batch是否适合您的需求.

更新:最近将限制从5分钟更改为15分钟.

  • 同意,+步骤函数 (2认同)
  • 这实在是太让人失望了!我认为将我们的时间限制在 5 分钟没有任何好处。有谁知道为什么存在这个限制? (2认同)
  • 还想知道吗?每次您需要运行具有未定义范围/长度的作业时,您都会冒着中途放弃作业的风险,这主要是破坏性的。 Lambda 上的微型作业中的作业使得保持作业状态/成功的日志更加复杂。感觉 5 分钟的限制真的是故意阻止了很多用例。 (2认同)
  • @LVBen,请记住 lambda 可以在任何可用的机器上运行。AWS 不希望 lambda 妨碍重新启动机器。这可能是 lambda 的生命周期有限的一个原因。 (2认同)

muy*_*ong 5

当然可以。我的解决方案是:

  1. 跟踪 lambda 函数中的时间流逝
  2. 当即将超出限制时,向 SNS 主题发送通知,然后退出。
  3. 将 SNS 主题设置为 lambda 函数的触发器。

请记住 lambda 的最初目的是运行短任务,因此最好让 lambda 函数在 15 分钟内运行。