amazon-web-services - 我的 Lambda 抛出调用错误超时
问题描述
通常我的 lambda 运行良好,今天我开始收到此错误:
ERROR Invoke Error
{
"errorType": "TimeoutError",
"errorMessage": "Connection timed out after 120000ms",
"code": "TimeoutError",
"message": "Connection timed out after 120000ms",
"time": "2020-11-27T10:34:39.272Z",
"region": "eu-west-1",
"hostname": "lambda.eu-west-1.amazonaws.com",
"retryable": true,
"stack": [
"TimeoutError: Connection timed out after 120000ms",
" at ClientRequest.<anonymous> (/var/task/node_modules/aws-sdk/lib/http/node.js:83:34)",
" at Object.onceWrapper (events.js:286:20)",
" at ClientRequest.emit (events.js:198:13)",
" at ClientRequest.EventEmitter.emit (domain.js:448:20)",
" at TLSSocket.emitRequestTimeout (_http_client.js:673:40)",
" at Object.onceWrapper (events.js:286:20)",
" at TLSSocket.emit (events.js:198:13)",
" at TLSSocket.EventEmitter.emit (domain.js:448:20)",
" at TLSSocket.Socket._onTimeout (net.js:443:8)",
" at ontimeout (timers.js:436:11)"
]
}
我不知道是什么导致了这种情况,我知道这个 lambda 调用了几个 lambda 并等待它们全部结束,我检查了 cloudwatch 上的每个日志,并且所有这些都已成功完成。
这是我用来触发所有这些子 lambda 并等待它们的代码片段:
function invokeAll(){
const baseLambdaPayload = {
arg1: args.myarg1,
arg2: args.myarg2,
arg3: args.myarg3,
arg4: args.myarg4
};
lambdaInvocations = [
...lambdaInvocations,
triggerLamdba(
'lambda1', {
...baseLambdaPayload,
morePayload: await getMorePayload()
}),
triggerLamdba(
'lambda2', baseLambdaPayload),
triggerLamdba(
'lambda3', baseLambdaPayload),
triggerLamdba(
'lambda4', baseLambdaPayload)
];
return await Promise.all(lambdaInvocations);
}
const triggerLamdba = (name, payload) => {
const params = {
FunctionName: name,
InvocationType: 'RequestResponse',
Payload: JSON.stringify(payload)
};
return lambda.invoke(params).promise();
}
关于我应该研究的任何提示?谢谢。
解决方案
推荐阅读
- javascript - REACT - 将事件处理程序附加到孩子
- variables - 在 Emacs 中显示它的变量类型
- java - 我可以配置 Eclipse 为不存在的 lambdas 创建 void 方法(而不是返回 Object)吗?
- mysql - 使用 DataGrip 连接到 wamp 本地服务器
- wordpress - 如何在 tag.php 中随机发布帖子?
- java - 使用参数从 ruby SDK 调用 Java 中的 AWS Lambda
- vulkan - Vulkan-HPP 开发人员是否更改了 vk::DebugUtilsMessengerEXT 创建中的任何内容?
- javascript - 我应该在我的配置中添加什么到我的 appId 中?
- ember.js - 如何在 Ember 中处理单击对象的 CSS 属性?
- c - 使用 rmmod (del_gendisk) 卸载时,Linux 块设备模块挂起