PHPackages                             justiversen/laravel-job-chainer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Queues &amp; Workers](/categories/queues)
4. /
5. justiversen/laravel-job-chainer

ActiveLibrary[Queues &amp; Workers](/categories/queues)

justiversen/laravel-job-chainer
===============================

Chain Laravel jobs without having to glue it to a starting job

v2.0.0(5y ago)7250.0k↑13.8%2[1 issues](https://github.com/ephort/laravel-job-chainer/issues)[2 PRs](https://github.com/ephort/laravel-job-chainer/pulls)MITPHPPHP ^7.4|^8.0

Since Sep 11Pushed 2y ago3 watchersCompare

[ Source](https://github.com/ephort/laravel-job-chainer)[ Packagist](https://packagist.org/packages/justiversen/laravel-job-chainer)[ Docs](https://github.com/justiversen/laravel-job-chainer)[ RSS](/packages/justiversen-laravel-job-chainer/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (2)Versions (10)Used By (0)

[![Packagist Downloads](https://camo.githubusercontent.com/277d262527d632efc865c7e3ce33c42236b242ad00c846bb6c28edb3c78753db/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f4a7573744976657273656e2f6c61726176656c2d6a6f622d636861696e6572)](https://camo.githubusercontent.com/277d262527d632efc865c7e3ce33c42236b242ad00c846bb6c28edb3c78753db/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f4a7573744976657273656e2f6c61726176656c2d6a6f622d636861696e6572)[![Code size](https://camo.githubusercontent.com/ad5cdd20f9b580e6e229cfa3fc656f61e895d244c906eb6f32153562357dc12d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f636f64652d73697a652f4a7573744976657273656e2f6c61726176656c2d6a6f622d636861696e6572)](https://camo.githubusercontent.com/ad5cdd20f9b580e6e229cfa3fc656f61e895d244c906eb6f32153562357dc12d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f636f64652d73697a652f4a7573744976657273656e2f6c61726176656c2d6a6f622d636861696e6572)[![Build Status](https://camo.githubusercontent.com/b953c4f52e0370b7edcc61997c57a5331fa286a28a567e61afb5032067125c4f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f4a7573744976657273656e2f6c61726176656c2d6a6f622d636861696e65722f504850253230436f6d706f736572)](https://camo.githubusercontent.com/b953c4f52e0370b7edcc61997c57a5331fa286a28a567e61afb5032067125c4f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f4a7573744976657273656e2f6c61726176656c2d6a6f622d636861696e65722f504850253230436f6d706f736572)

Laravel Job Chainer
===================

[](#laravel-job-chainer)

JobChainer does chain a variable amount of jobs by adding them with the add() method.

This makes it possible to chain jobs without having to know which job will be the first to be fired.

*Normal 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();
```

Why?
====

[](#why)

This allows us to add jobs to the chain without prior knowledge about which job would be the first. This may come in handy when jobs must be chained, but they are added dynamically to the chain.

Issue
=====

[](#issue)

Please open a new issue, if you are experiencing any troubles.

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity41

Moderate usage in the ecosystem

Community15

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~66 days

Recently: every ~115 days

Total

8

Last Release

1981d ago

Major Versions

v0.1 → v1.0.02019-09-11

v1.0.8 → v2.0.02020-12-15

PHP version history (2 changes)v0.1PHP ^7.2

v2.0.0PHP ^7.4|^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/42467227?v=4)[Just Iversen](/maintainers/justiversen)[@JustIversen](https://github.com/JustIversen)

---

Top Contributors

[![JensJI](https://avatars.githubusercontent.com/u/10193394?v=4)](https://github.com/JensJI "JensJI (13 commits)")[![KristianI](https://avatars.githubusercontent.com/u/1626966?v=4)](https://github.com/KristianI "KristianI (10 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")[![gjzim](https://avatars.githubusercontent.com/u/1929036?v=4)](https://github.com/gjzim "gjzim (1 commits)")[![jmarcher](https://avatars.githubusercontent.com/u/686843?v=4)](https://github.com/jmarcher "jmarcher (1 commits)")

---

Tags

Laravel job chainerjustiversen

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/justiversen-laravel-job-chainer/health.svg)

```
[![Health](https://phpackages.com/badges/justiversen-laravel-job-chainer/health.svg)](https://phpackages.com/packages/justiversen-laravel-job-chainer)
```

###  Alternatives

[league/geotools

Geo-related tools PHP 7.3+ library

1.4k5.3M26](/packages/league-geotools)[enqueue/enqueue

Message Queue Library

19820.0M56](/packages/enqueue-enqueue)[deliciousbrains/wp-background-processing

WP Background Processing can be used to fire off non-blocking asynchronous requests or as a background processing tool, allowing you to queue tasks.

1.1k409.8k6](/packages/deliciousbrains-wp-background-processing)[react/async

Async utilities and fibers for ReactPHP

2228.8M171](/packages/react-async)[react/promise-stream

The missing link between Promise-land and Stream-land for ReactPHP

11512.9M45](/packages/react-promise-stream)[illuminate/bus

The Illuminate Bus package.

6043.8M409](/packages/illuminate-bus)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
