Laravel Job Chainer — это пакет для объединения заданий Laravel без необходимости связывать их вместе с начальным заданием. Job Chainer позволяет динамически связывать задания с помощью предоставленного класса JobChainer
:
// Typical job chaining
ProcessPodcast::withChain([
new OptimizePodcast,
new ReleasePodcast($argA, $argB)
])->dispatch($arg1);
// With Job Chainer
$chain = new JobChainer;
$chain->add(ProcessPodcast::class, $arg1);
$chain->add(OptimizePodcast::class);
$chain->add(ReleasePodcast::class, $argA, $argB);
$chain->dispatch();
Этот пакет позволяет динамически добавлять задания без предварительного уведомления. о том, какая работа должна быть первой.Одним из вариантов использования может быть, если вы хотите предоставить пользовательский интерфейс для пользователей, чтобы они могли настраивать, какие шаги заданий должны выполняться (или не выполняться) для данного конвейера заданий.
Вы можете узнать больше об этом пакете, получить полные инструкции по установке и просмотреть исходный код на GitHub.
Чтобы узнать больше о цепочке заданий, ознакомьтесь с документацией Laravel по цепочке заданий.