AWS лямбда-таймер исключение - PullRequest
0 голосов
/ 08 июля 2019

У нас есть .Net Core лямбда-функция, и под ней у нас есть один асинхронный цикл for, который вызывает процедуру сохранения для каждого из элементов цикла.Он работает нормально, но иногда выдает исключение «Время ожидания команды истекло до завершения операции».

И мы получаем это исключение в журналах наблюдения облачных сервисов AWS.Пожалуйста, предложите, что может быть причиной здесь.

 locations.ForEach(async location =>
                        {
                                await _dataServiceWrite.SaveDeletedLocationDelegateAssignment(location.LocationId, obj.DelegateId, hsId, userId);
                                await Task.Delay(100);
                        });

Ответы [ 2 ]

1 голос
/ 08 июля 2019

AWS лямбда ограничена максимальным временем 15 минут, по истечении которого происходит тайм-аут. Это настраиваемый параметр в Lambda, и, пожалуйста, посмотрите, можно ли его увеличить до максимального в соответствии с вашими требованиями. Тем не менее, архитектура может не масштабироваться, когда необходимо обработать больше записей.

0 голосов
/ 08 июля 2019

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

API для вызова другой лямбды - Invoke, и вам нужно будет указать InvokeInput в качестве входных параметров.

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