У меня есть лямбда-функция, которая настроена на тайм-аут на 5 минут, и иногда, когда я вызываю функцию с помощью node
SDK, я получаю ошибку тайм-аута через 5 минут.
Однако, когдаЯ проверил журналы CloudWatch после получения ошибки на стороне клиента и вижу, что функция успешно завершена через ~ 3: 30 минут времени выполнения.
Я также заметил, что на стороне клиента будет регистрироваться тайм-аут 2За несколько минут до того, как журналы CloudWatch прочитают, что функция завершена (т. е. временные метки ошибок на стороне клиента в 4:08 и временные метки успешного завершения CloudWatch в 4:10), но я предполагаю, что это задержка между записями журнала, а не временем выполнения.Думаю, я бы упомянул об этом на всякий случай, о чем стоит подумать подробнее.
Из того, что я могу сказать, когда функция выполняется менее двух минут, она последовательно получает положительный ответ.
Код выглядит так:
let aws_config = new AWS.Config({
region: 'us-east-1',
credentials: credentials,
httpOptions: {
proxy: process.env.HTTP_PROXY,
timeout: 300000
}
})
var lambda = new AWS.Lambda(aws_config);
lambda.invoke(params, (err, data: Result) => {
...
}
Ошибка выглядит так:
{ TimeoutError: Connection timed out after 300000ms
at ClientRequest.<anonymous> (.../node_modules/aws-sdk/lib/http/node.js:83:34)
at Object.onceWrapper (events.js:273:13)
at ClientRequest.emit (events.js:182:13)
at ClientRequest.EventEmitter.emit (domain.js:442:20)
at Socket.emitRequestTimeout (_http_client.js:661:40)
at Object.onceWrapper (events.js:273:13)
at Socket.emit (events.js:182:13)
at Socket.EventEmitter.emit (domain.js:442:20)
at Socket._onTimeout (net.js:449:8)
at ontimeout (timers.js:425:11)
message: 'Connection timed out after 300000ms',
code: 'TimeoutError',
time: 2018-10-05T20:08:35.719Z,
region: 'us-east-1',
hostname: 'lambda.us-east-1.amazonaws.com',
retryable: true } 'TimeoutError: Connection timed out after 300000ms\n at ClientRequest.<anonymous> (.../node_modules/aws-sdk/lib/http/node.js:83:34)\n at Object.onceWrapper (events.js:273:13)\n at ClientRequest.emit (events.js:182:13)\n at ClientRequest.EventEmitter.emit (domain.js:442:20)\n at Socket.emitRequestTimeout (_http_client.js:661:40)\n at Object.onceWrapper (events.js:273:13)\n at Socket.emit (events.js:182:13)\n at Socket.EventEmitter.emit (domain.js:442:20)\n at Socket._onTimeout (net.js:449:8)\n at ontimeout (timers.js:425:11)'