gpt4 book ai didi

python-3.x - Zappa/异步AWS Lambda函数在30秒内超时

转载 作者:行者123 更新时间:2023-12-03 15:45:44 27 4
gpt4 key购买 nike

我有一个使用Zappa部署到AWS Lambda的Python 3.6-Flask应用程序,其中有一个使用@Task定义的异步任务执行函数,如here所述

但是,我发现函数调用仍然在30秒时超时,而AWS Lambda对非API调用强制执行5分钟超时。我什至在Lambda设置中检查了超时,并将其设置为5分钟。

我发现此问题的方式是lambda的调试输出在没有请求的情况下开始重复-发生这种情况是因为由于错误或超时(根据AWS Lambda文档),再次调用了lamba 2次。

谁能帮助我解决这个问题?

[编辑:lambda函数也不是任何VPC的一部分,并且设置为可从Internet访问。]

这是下面的日志。基本上,倒计时是一个20秒的 sleep 计时器,其后是@task调用application.reviv_assign_responder,但正如我们所见,“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 Task timed out after 30.03 seconds

最佳答案

您可以检查Zappa应用于所有lambda函数here的默认设置,您会看到默认情况下timeout_seconds设置为30秒,这将应用于AWS Console中的默认Lambda设置,因为默认情况下为3秒(您可以在AWS Lambda FAQ中检查此限制)。

对于@Task,您必须在timeout_seconds文件中增加/设置zappa_settings.(json|yaml)并重新部署,您可以放置​​5分钟(5 * 60 == 300秒),但是这种增加将适用于在zappa部署的virtualenv中定义的所有功能。

您可以检查暴露的更多详细信息in this issue in Zappa repo

关于python-3.x - Zappa/异步AWS Lambda函数在30秒内超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48232283/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com