Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Aws lambda lambda函数偶尔出现连接超时_Aws Lambda - Fatal编程技术网

Aws lambda lambda函数偶尔出现连接超时

Aws lambda lambda函数偶尔出现连接超时,aws-lambda,Aws Lambda,我不知道为什么,但有时-每20个lambda呼叫中,我会收到一个错误: Connection timed out after 120000ms 调用是从ECS容器中完成的,所有调用(caller和lambda)都写在node.js中 我应该检查什么 我知道这是一篇老文章,但我会写下我是如何解决一个问题的,在我正在处理的lambda中出现了相同的错误消息。我希望这能帮助有类似问题的人 在我的例子中,EC2中还有一个web应用程序,它通过lambda.invoke()(npm aws sdk)调用

我不知道为什么,但有时-每20个lambda呼叫中,我会收到一个错误:

Connection timed out after 120000ms
调用是从ECS容器中完成的,所有调用(caller和lambda)都写在node.js中

我应该检查什么


我知道这是一篇老文章,但我会写下我是如何解决一个问题的,在我正在处理的lambda中出现了相同的错误消息。我希望这能帮助有类似问题的人

在我的例子中,EC2中还有一个web应用程序,它通过
lambda.invoke()
(npm aws sdk)调用lambda。EC2和lambda都在Node.JS上运行。即使错误记录在EC2中,消息也会由lambda本身抛出给调用方(EC2)

我的lambda向API发出约3000个请求,需要约5分钟(300000毫秒)才能返回所有响应。lambda Node.JS运行时似乎在lambda执行期间保持套接字活动,该时间高于120000毫秒(2分钟)。当lambda代码持续运行超过此阈值时,运行时抛出错误,lambda返回一个回调

根据,AWS对象有一个http超时参数:

httpOptions(map)-传递给低级HTTP请求的一组选项。目前支持的选项有:

  • 超时[整数]-将套接字设置为在套接字上不活动的超时毫秒后超时。默认为两分钟(120000)
我将此配置更改为360000毫秒(6分钟)后,lambda成功执行。因此,您可以根据需要将此参数设置为更高的值:

AWS.config.update({httpOptions: {timeout: 360000}});

内存泄漏?你有没有想过用X光检查你的代码计时?在呼叫应用程序中内存泄漏?调用应用程序是一种执行lambdas的cron作业。我不知道这项服务,实际上我想的是Lambda内存泄漏,这就是我不理解的。此错误来自调用app。这不是“来自lamdda函数”,而是您的代码在试图调用Lambda函数时调用的AWS API。您需要在ECS端查看您的网络问题。