Для отправки одной работы я обычно делаю одно из следующих:
Queue::push(new ExampleJob);
или же
dispatch(new ExampleJob);
https://lumen.laravel.com/docs/5.5/queues
Согласно Документам Ларавела, определенная цепочка Заданий, где одно задание зависит от предыдущего, выполняется следующим образом:
ExampleJob::withChain([
new OptimizePodcast,
new ReleasePodcast
])->dispatch();
https://laravel.com/docs/5.5/queues#job-chaining
Однако это не работает в Lumen (подобная проблема здесь: Как отправить задание в определенную очередь в Lumen 5.5).
Как связать задания в Lumen 5.5?
Я не думаю, что это будет работать, учитывая, что в документации Laravel 5.5, в их примере под создание рабочих мест под страницей документации очередей показано, что для использования всех функций требуется несколько признаков:
<?php
namespace App\Jobs;
use App\Podcast;
use App\AudioProcessor;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
class ProcessPodcast implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $podcast;
Наиболее заметно это:
use Illuminate\Foundation\Bus\Dispatchable;
что, похоже, является чертой, которая отсутствует в структуре Lumen 5.5.
Остаток от Illuminate\...
черты, кажется, включены.
Других решений пока нет …