Где внятно почитать как работают queues в Laravel?
Задача такая:
При выполнении пользователем запроса на сайте, запускается несколько одновременных и последовательных парсеров, по результатам их работы необходимо выдать результат пользователю.
Пример:
Пользователь осуществил запрос -> сработал "Парсер1", отрабатывал он 20 секунд, по результатам его работы получили данные которые используются в 4 последующих парсеров ("Парсер2", "Парсер3", "Парсер4", "Парсер5"), которые необходимо, чтобы отработали одновременно. Каждый из 4 последних парсеров в среднем отрабатывает 12-14 секунд.
Соответственно время запроса для пользователя будет равна 20+(12~14) секунд = 32(~34) секунды.
Как работают очереди вполне понятно описано в документации. Вы кидаете в очередь на исполнение первую задачу. А когда она завершится, то сама запустит также в очередь 4 другие задачи. Разумеется, у вас должно быть несколько воркеров. Но что там в очередях происходит, скрипт уже не узнает. Чтобы какие-то результаты из них получить, вам нужно писать результаты в какую-то БД и параллельно мониторить эту самую БД, ожидая результатов.
В вашем случае проще запустить параллельно 4 потока с помощью curl. Сделать 4 отдельных url для парсеров 2-5, и курлом их дергать, когда парсер1 выполнит свою работу. Curl и многопоточность легко нагуглите.