【发布时间】:2019-10-16 09:07:03
【问题描述】:
我浏览了该网站,但无法找到问题的根本原因。
我们有一个每 50 秒运行一次的 lambda。 lambda 的第一次运行是冷启动。在启动期间,所有必要的 lambda 依赖项都已准备好(所有接口)。Lambda 处理程序将拥有自己的代码来与 SQS 和 SWF 交互。在云监视日志的第一次运行期间,很明显它正在读取基本文件以获取所有服务。然后 lambda 处理程序将启动。从第二次运行开始,只有 lambda 处理程序将在第 50 秒后被调用。到目前为止,一切都很顺利。 突然间,我们注意到 lambda 耗时超过 50 秒(通常在 10 秒以下完成)。日志显示 lambda 已超时,并重新开始重新初始化所有依赖项。
这并没有给我们任何线索,因为超时后后续运行会顺利进行。看到 lambda 超时并不好。绝对 lambda 代码没有错误。
这可能是任何容器问题吗?容器是否有任何时间段保持数据活动,直到达到过期超时。
我们能否访问容器对象以了解更多信息?我们有 2 个或更多开发环境。对于不同的环境,这种行为是不同的。对于某些人来说,它每 3 天发生一次。一天中的某个时候会发生三次。
如果我们想了解容器对象的属性,我们该怎么做呢?它是只有 AWS 可以访问的灰色区域吗? Lambda 代码是使用 net core App 2.0 用 c# 编写的。考虑在调用期间检查此 lambda 的云跟踪日志。我也无法找到超时背后的原因。
我们在每个不同地区都有 20 多个用于开发的 lambda 和 10 个用于测试的 lambda。我们不清楚哪个 lambda 会超时。
任何建议或想法都会对我有很大帮助??????
谢谢。
【问题讨论】:
标签: amazon-web-services aws-lambda timeout containers refresh