Еще один подход - начать с добавления всех задач в очередь. Получите информацию о начальных задачах N в хранилище данных по завершении, таким образом, чтобы вы могли запросить хранилище данных, чтобы узнать, все ли они запущены.
Когда зависимая задача выполняется, она выполняет этот запрос к хранилищу данных, чтобы проверить, выполнены ли ее условия (проверяет, все ли начальные задачи зарегистрировали, что они выполнены). Если нет, то его нужно запустить позже.
Для этого зависимая задача может добавить свою копию в очередь, запуск которой запланирован через определенный промежуток времени. С другой стороны (как в ответе выше), зависимая задача может завершиться с кодом состояния ошибки, и в этом случае она будет автоматически повторена в какой-то более поздний момент, пока не будет превышено значение retry_limit для очереди или задачи.