PHPackages                             jesusch/php-queue - 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. jesusch/php-queue

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

jesusch/php-queue
=================

PHP Class to handle concurrent running Jobs to utilize the power of multiple cores

16PHP

Since May 7Pushed 11y ago1 watchersCompare

[ Source](https://github.com/jesusch/php-queue)[ Packagist](https://packagist.org/packages/jesusch/php-queue)[ RSS](/packages/jesusch-php-queue/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

php-queue
=========

[](#php-queue)

PHP Class to handle concurrent running Jobs to utilize the power of multiple cores

Background
----------

[](#background)

After some search I was not able to find a php-queue alike class. This code was inspired by php-resque

Requirements
------------

[](#requirements)

- PHP 5.3+
- php-pctnl
- Composer

Getting Started
---------------

[](#getting-started)

The easiest way to work with php-queue is when it's installed as a Composer package inside your project. Composer isn't strictly required, but makes life a lot easier.

If you're not familiar with Composer, please see .

1. Add php-queue to your application's composer.json.

```
{
    // ...
    "require": {
        "jesusch/php-queue": "*"
    },
    // ...
}
```

2. Run `composer install`.
3. If you haven't already, add the Composer autoload to your project's initialization file. (example)

```
require 'vendor/autoload.php';
```

Jobs
----

[](#jobs)

### Queueing Jobs

[](#queueing-jobs)

Jobs are queued as follows:

```
$queue = new \JobQueue\Queue();
$queue->setMaxProcs(10);

$job = new \JobQueue\Job();

$queue->appendJob($job);

$queue->waitForJobs();
```

### Defining Jobs

[](#defining-jobs)

Each job should be in its own class, must extend `\JobQueue\AbstractJob` and include a public `run` method.

```
class My_Job extends \JobQueue\AbstractJob
{
    public function run()
    {

        // Work work work
        echo 'some fancy job';
        $sleep = rand(1,5);
        sleep($sleep);
    }
}
```

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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.

### Community

Maintainers

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

---

Top Contributors

[![jesusch](https://avatars.githubusercontent.com/u/2362798?v=4)](https://github.com/jesusch "jesusch (4 commits)")

### Embed Badge

![Health badge](/badges/jesusch-php-queue/health.svg)

```
[![Health](https://phpackages.com/badges/jesusch-php-queue/health.svg)](https://phpackages.com/packages/jesusch-php-queue)
```

###  Alternatives

[league/geotools

Geo-related tools PHP 7.3+ library

1.4k5.6M31](/packages/league-geotools)[illuminate/bus

The Illuminate Bus package.

6046.3M543](/packages/illuminate-bus)[uecode/qpush-bundle

Asynchronous processing for Symfony using Push Queues

1672.5M2](/packages/uecode-qpush-bundle)[belvg/module-sqs

N/A

1544.6k](/packages/belvg-module-sqs)[mayconbordin/l5-stomp-queue

Stomp Queue Driver for Laravel 5

121.1k](/packages/mayconbordin-l5-stomp-queue)

PHPackages © 2026

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