Как не дожидаться ответа команды Artisan::queue в Laravel?

В Laravel команда Artisan::queue используется для добавления задания в очередь задач Laravel. По умолчанию, после вызова этой команды, Laravel помещает задание в очередь и ждет его выполнения. Однако, есть случаи, когда вы можете не хотеть ждать выполнения задачи и хотите сразу вернуть управление.

Для того чтобы не дожидаться ответа команды Artisan::queue, вы можете использовать метод dispatch(), возвращающий объект PendingDispatch. Для этого вам необходимо продолжить цепочку вызовов метода, вызвав нужные вам методы, и в конце вызвать метод dispatchNow():

use AppJobsProcessPodcast;
use IlluminateSupportFacadesBus;

$podcast = new ProcessPodcast($podcastId);

Bus::chain([
    new OptimizePodcast($podcast),
    new ReleasePodcast($podcast)
])->dispatchNow();

В приведенном коде, начиная с метода chain(), мы формируем цепочку задач, включая их в массив. Далее, вызов метода dispatchNow() запустит эту цепочку задач без ожидания их выполнения.

Если вам нужно добавить другие параметры или настройки в цепочку задач, вы можете посмотреть документацию по Laravel Jobs (работе с задачами): https://laravel.com/docs/7.x/queues#creating-jobs