Laravel Packages

Laravel Job Chainer

Published
Laravel Job Chainer image

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 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();

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.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Volker Dusch on the PHP RCE Vulnerabilities and Disclosure image

Volker Dusch on the PHP RCE Vulnerabilities and Disclosure

Read article
Decide with Jev: Turn AI Answers into Decisions with PHP Rules image

Decide with Jev: Turn AI Answers into Decisions with PHP Rules

Read article
Skuul: Open-Source School Management Built on Laravel image

Skuul: Open-Source School Management Built on Laravel

Read article
Laravel Read Replicas: Prevent Stale Reads After a Write image

Laravel Read Replicas: Prevent Stale Reads After a Write

Read article
Screenshot: Capture Images and PDFs with PHP and Laravel image

Screenshot: Capture Images and PDFs with PHP and Laravel

Read article
Reset Sticky Database Connections Between Laravel Queue Jobs image

Reset Sticky Database Connections Between Laravel Queue Jobs

Read article