Отследить прогресс выполнения заданий в очередях
Добавлено: 2017.11.14, 15:12
Из консоли запускаем экшен (задание импорта), в котором собираются необходимые сущностей (до 1 млн), на каждый создается команда и ставится в очередь (RabbitMQ). Каждая команда импортирует сущность с удаленного сервера, а так же добавляет в соседние очереди команды на импорт других связанных сущностей. Очереди соответственно работают асинхронно.
Задача: узнать когда завершился импорт всех сущностей, в т.ч. связанных.
1. Можно ли, например, создать уникальный идентификатор задания и по нему сгруппировать очереди чтобы отслеживать количество оставшихся заданий принадлежащих группе?
2. Второй вариант - вместе с уникальным идентификатором хранить счетчик поставленных команд, при выполнении команды уменьшать его. Но это выглядит крайне не надежно.
Ну и конечно другие варианты решений приветствуются
Задача: узнать когда завершился импорт всех сущностей, в т.ч. связанных.
1. Можно ли, например, создать уникальный идентификатор задания и по нему сгруппировать очереди чтобы отслеживать количество оставшихся заданий принадлежащих группе?
2. Второй вариант - вместе с уникальным идентификатором хранить счетчик поставленных команд, при выполнении команды уменьшать его. Но это выглядит крайне не надежно.
Ну и конечно другие варианты решений приветствуются