Лямбда-тайм-аут после попытки подключения к пожарному депо - PullRequest
0 голосов
/ 18 марта 2019

У меня постоянно работает лямбда (интервал 30 минут), время ожидания которого истекает при попытке подключиться к пожарному депо. Я действительно не знаю, почему это происходит так ... Я использовал в начале лямбды

 context.callbackWaitsForEmptyEventLoop = false;

Может кто-нибудь помочь мне решить это ... пожалуйста ....

Ответы [ 2 ]

0 голосов
/ 18 марта 2019

Есть ли у лямбда-функции доступ в интернет? Это действительно распространенная ошибка, вам нужно настроить подсеть вашего VPC, чтобы она могла выходить в Интернет.

https://aws.amazon.com/premiumsupport/knowledge-center/internet-access-lambda-function/

0 голосов
/ 18 марта 2019

Для лямбда-функций существует ограничение в 15 минут.Если вы превысите этот лимит, у них истечет время ожидания, и вы не сможете обойти его.

Вы можете увидеть его в документах :

ВыТеперь можно установить значение тайм-аута для функции на любое значение до 15 минут.По истечении указанного времени ожидания AWS Lambda прекращает выполнение вашей функции Lambda.Рекомендуется установить значение тайм-аута на основе ожидаемого времени выполнения, чтобы предотвратить выполнение вашей функции дольше, чем предполагалось.

Вы также можете проверить AWS Lambda Limits .Хотя некоторые из этих ограничений можно повысить, связавшись с AWS, максимальное время выполнения не является одним из них.

Если ваша функция выполняется менее чем за 15 минут, вы можете просто увеличить время ожидания своей функции через консоль.(в базовых настройках я прилагаю скриншот) или через aws-cli (или через фреймворки, такие как AWS SAM, Serverless и т. д., если вы его используете).

Проверьте, как изменить ограничения здесь

enter image description here

Однако я постараюсь понять, почему ваша функция отключается при подключении к Google Firestore.Я ничего не знаю о Google Cloud, но, возможно, вам следует разрешить исходящий трафик.Возможно, следует увеличить тайм-аут, но, возможно, Firebase блокирует любой исходящий трафик, заставляя вашу Lambda истечь.Если ваша лямбда находится за пределами VPC, она должна иметь возможность беспрепятственного подключения к Интернету, поэтому соединение с Firebase должно быть довольно быстрым.

Еще одна вещь, которую я предлагаю, - запустить вашу функцию Lambda вУзел 8 , так как вы можете воспользоваться async / await и избавиться от context и callback объектов, которые поначалу очень запутаны.

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