Как определить окончание работы ряда Job задач в laravel?

Добрый день, у меня такая ситуация: в очередь пользователем может ставится N задача (в реале от 1 до 20), и все они подразумевают один процесс, просто очень мелко разбитый на детали.
Как правильно организовать проверку выполнения всей цепочки задачи ? или же как определить что именно последняя цепочка в задаче была выполнена и фронт может обращаться за результатом ?
Сейчас фронт просто делает запросы и проверяет поле "status" в котором указывается состояние, но у меня не всегда получается сделать так что бы последняя задача завершилась и последней, бывает так что в ходе работы скрипта возникает ошибки и данная задача возвращается снова в очередь (у каждой задачи есть 8 попыток на выполнение)
  • Вопрос задан
  • 451 просмотр
Решения вопроса 1
@izheme
Познаю мир
Ну а какие варианты? Фронт где-то далеко в системе клиент-сервер. Если фронт закончил запрос к серверу, то для него, что очередь там, что не очередь. Т.е. в вопросе два момента:
1. Как фронт получает обновление статуса: либо обращается к нужному ендпоинту, либо поднимает веб-сокет соединение и слушает.
2. Как бэкенд понимает, что Job готов. Насколько я помню, в Laravel есть события для этого. Дальнейшая реализация обработки событий зависит от того, как фронт "слушает" изменения - выставляешь ты флаг для ендпоинта или отправляешь событие в сокет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы