Это звучит как идеальное применение постоянных очередей событий, особенно Kinesis. Когда каждая лямбда запускается, она генерирует «стартовое» событие в Kinesis. Когда это успешно или неудачно, он генерирует соответствующее событие. Вы даже можете создавать события прогресса по пути, если хотите увидеть, как далеко они продвинулись.
Ваш сервер может затем отслеживать количество начальных событий относительно конечных событий (успех или неудача), пока эти два числа не станут равными. Он может запрашивать события ошибок, чтобы увидеть, какие процессы завершились неудачно и почему. Все серверы могут запрашивать одни и те же события, не прерывая работу друг друга, и любой сервер может отключаться и восстанавливаться без потери данных.
Удостоверьтесь, что ключ происшествия добавлен в события, которые должны быть сгруппированы, чтобы они не перепутались с последующим событием. Кроме того, каждая лямбда должна иметь свой собственный ключ, чтобы вы могли отслеживать прогресс по каждой лямбде. Направляющие идеально подходят для этого.