PHPackages                             orrison/laravel-are-we-there-yet - 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. orrison/laravel-are-we-there-yet

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

orrison/laravel-are-we-there-yet
================================

Track related jobs and fire a closure when they have all completed

3.0.1(5y ago)0174[1 PRs](https://github.com/Orrison/Laravel-Are-We-There-Yet/pulls)GPL-3.0-or-laterPHP

Since Jul 16Pushed 3y ago1 watchersCompare

[ Source](https://github.com/Orrison/Laravel-Are-We-There-Yet)[ Packagist](https://packagist.org/packages/orrison/laravel-are-we-there-yet)[ RSS](/packages/orrison-laravel-are-we-there-yet/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (10)Dependencies (3)Versions (17)Used By (0)

Are We There Yet?
=================

[](#are-we-there-yet)

Easy to use helper method to dispatch a list of jobs and job chains that, upon completion of all of them, trigger one last final job. Often we dispatch jobs that can run in parallel but that once all complete require something else to be done.

With the `parallelDispatch` helper method you can dispatch a list of jobs AND chained jobs that will fire your defined "completion job" once they have all been completed successfully.

```
    /**
     * parallelDispatch
     *
     * @param mixed $jobList An array of job objects you would like dispatched and tracked.
     * Adding a multidimensional array will dispatch the sub-array in a job chain in the order they are listed
     * @param object $completionJob A fully instantiated class for the job to be run once all other jobs in the job list have completed.
     * @return void
     */
    function parallelDispatch($jobList, $completionJob)
```

Installation &amp; Setup:
-------------------------

[](#installation--setup)

Install via composer using the following command:

```
composer require orrison/laravel-are-we-there-yet
```

Two tables are required for the tracking `awty_goals` and `awty_tasks`. They can be added by running a migration after installation.

```
php artisan migrate
```

After the package and tables are setup you may now dispatch a cluster of jobs via `parallelDispatch` that once all completed will trigger the "completion job". All jobs included in the cluster MUST have the `Trackable` trait. The completion job does NOT require the trait.

Examples:
---------

[](#examples)

### Running a list of jobs in parallel

[](#running-a-list-of-jobs-in-parallel)

`SomeJobToBeRunAfter` will be run once they are all completed.

```
    parallelDispatch(
        [
            new JobOne(),
            new JobTwo($arg1, $arg2),
        ],
        new SomeJobToBeRunAfter($someJobArg)
    );
```

### Running a list of jobs including a job chain

[](#running-a-list-of-jobs-including-a-job-chain)

Jobs in the chain can also be dispatch by including a sub array of job objects in the main `$jobList`. The will be chained in the order they are listed.

```
    parallelDispatch(
        [
            new JobOne(),
            [
                new chainedJobOne($arg1),
                new chainedJobTwo(),
            ],
            new JobTwo($arg1, $arg2),
        ],
        new SomeJobToBeRunAfter($someJobArg)
    );
```

In the above example `JobOne`, `JobTwo`, and `chainedJobOne` will be dispatched immediately. But `chainedJobTwo` and any others in that array will be chained to `chainedJobOne` and will only complete in the sequential order they are listed.

Based on Job Tracking from:

### Testing

[](#testing)

```
composer test
```

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 96.3% of commits — single point of failure

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 ~1 days

Total

15

Last Release

2109d ago

Major Versions

1.2.4 → 2.0.02020-07-24

2.0.5 → 3.0.02020-08-03

### Community

Maintainers

![](https://www.gravatar.com/avatar/c05c414ab831b19b4d32267debcdd34330d8950f9842cca89427ee10a1b1e872?d=identicon)[Orrison](/maintainers/Orrison)

---

Top Contributors

[![Orrison](https://avatars.githubusercontent.com/u/6799341?v=4)](https://github.com/Orrison "Orrison (77 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/orrison-laravel-are-we-there-yet/health.svg)

```
[![Health](https://phpackages.com/badges/orrison-laravel-are-we-there-yet/health.svg)](https://phpackages.com/packages/orrison-laravel-are-we-there-yet)
```

###  Alternatives

[league/geotools

Geo-related tools PHP 7.3+ library

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

A generator parser to make streaming parsers simple.

14952.8M16](/packages/amphp-parser)[amphp/serialization

Serialization tools for IPC and data storage in PHP.

13451.1M18](/packages/amphp-serialization)[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

2238.8M171](/packages/react-async)

PHPackages © 2026

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