Получить состояние асинхронного (InvocationType = Event) лямбда-выполнения AWS - PullRequest
0 голосов
/ 23 февраля 2019

Я создаю функцию шага AWS, где один из шагов, назовем его шагом X, запускает переменное число лямбд.Поскольку эти лямбда-функции являются длинными (они занимают от 1 до 10 минут каждая), я не хочу ждать их на шаге X. Я бы тратил деньги только на ожидание.Поэтому я начинаю их с InvocationType=Event, чтобы они все работали асинхронно и параллельно.

После завершения шага X, запускающего все эти лямбда-выражения, я хочу, чтобы моя функция шага ожидала завершения всех этих асинхронных функций.Итак, как описано выше здесь , я бы создал какой-то цикл while в моей пошаговой функции.Этот цикл будет ждать, пока все мои асинхронные вызовы не будут завершены.

Таким образом, проблема заключается в следующем: можно ли запрашивать состояние лямбда-сигнала AWS, который был запущен с InvocationType=Event?

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

1 Ответ

0 голосов
/ 23 февраля 2019

Асинхронно вызванная лямбда - это сценарий использования «забей и забудь».Нет простого способа получить его результат.Боюсь, вам придется написать собственную логику синхронизации заданий.

...