Лямбда-вызов AWS иногда зависает на неопределенный срок при выполнении через ECSJAVA

Программисты JAVA общаются здесь
Anonymous
Лямбда-вызов AWS иногда зависает на неопределенный срок при выполнении через ECS

Сообщение Anonymous »

У меня есть приложение весенней загрузки, которое вызывает лямбда-функции через aws-java-sdk-lambda следующим образом:

Код: Выделить всё

import com.amazonaws.services.lambda.AWSLambda;
...

InvokeResult result = awsLambda.invoke(invokeRequest);
Теперь, когда я запускаю это со своего локального компьютера, все работает нормально: он вызывает функцию, а затем возвращает ответ после ее завершения. Иногда время ожидания лямбда-функции истекает, и в этом случае я получаю ответ, указывающий на это.
У меня также есть это приложение, развернутое в задаче ECS, и я заметил, что в В этом контексте, если выполнение лямбда-функции не займет более 10 минут, я получу ответ, как и ожидалось. Однако, если это занимает намного больше времени или если время ожидания истекает через 15 минут, метод вызова зависает на неопределенный срок в задаче ECS (тогда как локально я всегда получаю ответ самое позднее через 15 минут, что указывает на тайм-аут).< /p>
Чтобы решить эту проблему, я попытался настроить ClientConfiguration так, чтобы время ожидания истекало через 16 минут, однако это решение не будет работать, поскольку иногда лямбда-функция завершается примерно через 10 минут и метод вызова по-прежнему зависает на неопределенный срок в задаче ECS (хотя, опять же, у меня этого никогда не происходит при локальном запуске приложения).
Я подумал, может ли это быть связано с разрешениями, однако это не кажется вероятным. Задача имеет разрешения «lambda:InvokeFunction» и «lambda:GetFunction» и ведет себя должным образом, когда лямбда-функция завершается менее чем за 10 минут. Есть ли что-нибудь еще, что мне следует попытаться предотвратить зависание вызова?

Подробнее здесь: https://stackoverflow.com/questions/764 ... ed-via-ecs

Вернуться в «JAVA»