【发布时间】:2018-06-22 06:30:51
【问题描述】:
我有一个 Python 3.6 - Flask 应用程序使用 Zappa 部署到 AWS Lambda 上,其中我有一个使用 @Task 定义的异步任务执行函数,正如 here 所讨论的那样
但是,我发现函数调用仍会在 30 秒时超时,而 AWS Lambda 对非 API 调用强制执行 5 分钟超时。我什至在我的 Lambda 设置中检查了超时,它设置为 5 分钟。
我发现这种情况的方式是当 lambda 的调试输出在没有请求的情况下开始重复时 - 发生这种情况是因为由于错误或超时(根据 AWS Lambda 文档), lamba 被调用了 2 次以上。
谁能帮我解决这个问题?
[编辑:lambda 函数也不是任何 VPC 的一部分,并且设置为可从 Internet 访问。]
以下是日志。基本上,倒计时是一个计数到 20 秒的睡眠计时器,然后是对 application.reviv_assign_responder 的@task 调用,但正如我们所见,在“NEAREST RESPONDER”之后没有输出,倒计时再次开始,表明该函数已计时已被 (AWS') 设计再次调用。
Log output in Pastebin : https://pastebin.com/VEbdCALg
Second incident - https://pastebin.com/ScNhbMcn
正如我们在第二个日志中看到的,它明确指出:
[1515842321866] wait_one_and_notify : 30 : 26 [1515842322867] wait_one_and_notify:30:27 [1515842323868] wait_one_and_notify:30 : 28 [1515842324865] 2018-01-13T11:18:44.865Z 72a8d34a-f853-11e7-ac2f-dd12a3d35bcb 任务在 30.03 后超时 秒
【问题讨论】:
-
任何人?????????
标签: python-3.x flask aws-lambda zappa