Тайм-аут задачи AWS Lambda - PullRequest
0 голосов
/ 25 июня 2019

Я создал одну функцию и отправил почту пользователям, но время ожидания истекло

05:48:54
END RequestId: 3508fc6c-29cb-442b-95dd-c963018ca5f3

05:48:54
REPORT RequestId: 3508fc6c-29cb-442b-95dd-c963018ca5f3  Duration: 900083.68 ms  Billed Duration: 900000 ms Memory Size: 256 MB  Max Memory Used: 43 MB

05:48:54
2019-06-25T05:48:54.532Z 3508fc6c-29cb-442b-95dd-c963018ca5f3 Task timed out after 900.08 seconds

Я установил TimeoutInfo 15 мин.

Ответы [ 2 ]

1 голос
/ 25 июня 2019

Другая потенциальная проблема может заключаться в том, что у вас есть активное соединение, поэтому лямбда-aws не отвечает до тех пор, пока соединение не прекратится.

callbackWaitsForEmptyEventLoop - установите в false, чтобы отправлять ответ сразу при обратном вызове.выполняется, вместо того, чтобы ждать, пока цикл событий Node.js будет пустым.Если это ложно, все ожидающие события продолжают выполняться во время следующего вызова.

Если это так, вы можете установить callbackWaitsForEmptyEventLoop = false для немедленного ответа на обратный вызов

context.callbackWaitsForEmptyEventLoop = false;

Официальный документ

0 голосов
/ 25 июня 2019

Проверьте, какое время ожидания установлено в файле конфигурации. Также проверьте VPC!

"Обработка ошибок для данного источника событий зависит от того, как вызывается Lambda. Amazon CloudWatch Events настроен для асинхронного вызова функции Lambda."

" Асинхронный вызов - асинхронные события помещаются в очередь перед использованием для вызова функции Lambda. Если AWS Lambda не может полностью обработать событие, он автоматически повторяет вызов дважды, с задержками между повторными попытками. "

Таким образом, в этом случае должна произойти повторная попытка.Не уверен, что не так с вашей лямбда-функцией, просто удалите и создайте заново, и это может сработать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...