第一次超时后,AWS Python Lambda永远超时

佩德罗·托雷斯(Pedro Torres)

问题:

我有一个python lambda,它每秒不断接收数据并将其放入DynamoDB中我注意到,在DynamoDB第一次花费更多时间并且该函数超时之后,以下所有调用也都超时了,并且永远都无法恢复。使lambda恢复正常的方法是重新部署它。开始超时时,它不会显示任何日志。它在不执行任何代码的情况下超时。

下面是代表问题的控制台图片。

AWS Lambda控制台

为了使用此功能更快地重现问题,我做了以下工作:

  1. 重新部署它,然后查看它是否工作正常。
  2. Reduce the memory available to the lambda to the minimum and timeout to 1 second. This will cause the first timeout
  3. Increase back the memory of the lambda to normal and even increase the timeout. However, the timeouts persist

Is there a way to resolve this issue without having to redeploy?

I have seen the same description of issue but with nodejs in this post: https://forums.aws.amazon.com/thread.jspa?threadID=234417.

I haven't seen any description related with the python lambda env

More information about the setup:

Lambda environments tested: python3.6 and python3.7

Tool to deploy lambda: serverless 1.57.0

serverless plugins used: serverless-python-requirements, serverless-wsgi

没有为lambda使用任何VPC

感谢您的帮助,

佩德罗·托雷斯(Pedro Torres)

找出该错误的触发器。如果上载的lambda函数zip太大,则第一次超时后就无法恢复!

我的解决方案是仔细剔除不必要的依赖关系,以使程序包更小。

我使用docker容器创建了一个存储库,以便人们更轻松地重现该问题:

https://github.com/pedrohbtp/bug-aws-lambda-infinite-timeout

感谢您在评论中的消息。我感谢谁花时间尝试在SO中提供帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

第一次Ping /连接超时

第一次点击时,如何给div设置超时?

第一次单击后似乎永远不会设置jquery变量

Lambda作为Python中的迭代器在第一次迭代时返回函数对象

Python PANDAS:第一次出现列值后删除所有行

在 Python 中的第一次拆分后保留完整的字符串

Python:For循环在第一次迭代后停止向字典添加项目

第一次迭代后嵌套 for 循环未在 python 中运行

AWS Lambda中的Python请求超时

AWS Lambda,超时重试,Python SDK

python熊猫第一次分组

获取第一次命中的 url [webscraping python]

python线程:第一次来

仅Python执行第一次打印

Python json 第一次总是失败

奇怪的 Python 堆:heappop() 第一次输出

Python优先级队列 - 第一次弹出后后续弹出返回错误值?

AWS Lambda执行仅在我第一次运行时出现“客户函数错误”失败

在第二次执行时暂停函数的第一次执行(Python)

通过 lambda 与 RDS 建立连接后 Python mysql 连接超时

尝试访问MySQL时AWS Python Lambda超时

AWS Lambda 函数在第一次运行时运行,但在第二次运行时不起作用

lambda python dynamodb写入获取超时错误

如何在第一次迭代中只打印一次递归 Python 函数中的语句?

符号的第一次和最后一次出现(不带正则表达式的python)

第一次运行后,使用python 3.6.1的Jupyter笔记本,使用asyncio基本示例给出:RuntimeError:事件循环已关闭

如何获得第一次出现?正则表达式python

Python的数据框 - 删除重复TRUE约会,除了第一次出现

只计算每个序列python的第一次出现