Laravel Job Chainer
Published on by Paul Redmond
Laravel Job Chainer is a package to chain Laravel jobs without having to glue them together with a starting job. Job Chainer makes it possible to dynamically chain jobs using the provided JobChainer
class:
// Typical job chainingProcessPodcast::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();
This package makes it convenient to dynamically add jobs without prior knowledge about which job should be first. One use-case could be if you wanted to provide a UI for users to have the ability to customize which jobs steps should run (or not run) for a given job pipeline.
You can learn more about this package, get full installation instructions, and view the source code on GitHub.
For further reading on job chaining, check out Laravel's queue job chaining documentation.