Пытаюсь третий день разобраться с очередями в ларавел 5.4
Не могу понять как с ними работать.
Вот создал файл очереди через artisan, в нем 2 свойства и 2 метода (конструктор и обработчик). Как я понимаю, это некоторый контроллер который будет дергаться слушателем очередей, верно? При вызове этого обработчика очереди будет вызван метод handle(), который будет выполнять задачу.
Я заношу дынные в бд (с которыми будет работать очередь) и знаю id записи с которой работать и количество итераций для работы с ней.
Как мне передать их слушателю очередей (или кому?) чтобы началась работа очереди?
Так как 1 итерация = 1 вызову очереди, то мне нужно будет вызывать Queue::after() чтобы очередь отработала еще раз, до тех пор пока итерации не кончатся. Когда кончатся итерации нужно отправить сообщение на почту (условно пусть будет сообщение на почту о том, что все итерации выполнены) как это сделать тоже?
Искал хотя бы список методов очередей и их описание, но не нашел.
Создайте Job со счетчиком итераций. При каждом выполнении задачи изменяете счетчик и отправляете дальше ее же в очередь. Когда счетчик достигнет нужного значения - делаете что там вам нужно.