AWS Lambda任务超时

时间:2019-06-25 06:40:09

标签: amazon-web-services aws-lambda

我已经创建了一个函数并向用户发送了邮件,但是超时了

05:48:54
END RequestId: 3508fc6c-29cb-442b-95dd-c963018ca5f3

05:48:54
REPORT RequestId: 3508fc6c-29cb-442b-95dd-c963018ca5f3  Duration: 900083.68 ms  Billed Duration: 900000 ms Memory Size: 256 MB  Max Memory Used: 43 MB

05:48:54
2019-06-25T05:48:54.532Z 3508fc6c-29cb-442b-95dd-c963018ca5f3 Task timed out after 900.08 seconds

我已将TimeoutInfo设置为15分钟。

2 个答案:

答案 0 :(得分:1)

另一个潜在的问题可能是您的连接处于活动状态,因此aws lambda在连接终止之前没有响应。

  

callbackWaitsForEmptyEventLoop –设置为false发送响应   立即执行回调时,无需等待   Node.js事件循环为空。如果这是错误的,则任何未完成的   事件在下一次调用期间继续运行。

在这种情况下,您可以设置callbackWaitsForEmptyEventLoop = false通过以下方式立即做出回调响应

context.callbackWaitsForEmptyEventLoop = false;

Official doc

答案 1 :(得分:0)

检查配置文件中设置的超时时间 还要检查VPC!

“对给定事件源的错误处理取决于Lambda的调用方式。AmazonCloudWatch Events配置为异步调用Lambda函数。”

“异步调用–异步事件在用于调用Lambda函数之前已排队。如果AWS Lambda无法完全处理该事件,它将自动重试两次调用,重试之间存在延迟。”

因此,在这种情况下应重试。不确定lambda函数出了什么问题,只需删除并重新创建就可以了!