PHPackages                             studiobonito/silverstripe-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. studiobonito/silverstripe-queue

ActiveSilverstripe-module[Queues &amp; Workers](/categories/queues)

studiobonito/silverstripe-queue
===============================

Simple multi driver queue system.

0.8.2(11y ago)71401[1 issues](https://github.com/studiobonito/silverstripe-queue/issues)[2 PRs](https://github.com/studiobonito/silverstripe-queue/pulls)BSD-2-ClausePHP

Since May 14Pushed 10y ago3 watchersCompare

[ Source](https://github.com/studiobonito/silverstripe-queue)[ Packagist](https://packagist.org/packages/studiobonito/silverstripe-queue)[ RSS](/packages/studiobonito-silverstripe-queue/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (5)Versions (11)Used By (0)

Queue Module
============

[](#queue-module)

[![Build Status](https://camo.githubusercontent.com/87c79d77c4c8f8d8eb4b59c7fceb9e0a31e8987171c4e2e3465b03a4bc98a8e5/68747470733a2f2f7472617669732d63692e6f72672f73747564696f626f6e69746f2f73696c7665727374726970652d71756575652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/studiobonito/silverstripe-queue)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/57a6059e7c1ec929ab985bb5b2b811862cc14f0701356b8c8bf8b3d5d247e120/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f73747564696f626f6e69746f2f73696c7665727374726970652d71756575652f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/studiobonito/silverstripe-queue/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/b24d941c4bb733af0d62dd591a91e4581dca40c77cd3a13094d1a37b63b33fe8/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f73747564696f626f6e69746f2f73696c7665727374726970652d71756575652f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/studiobonito/silverstripe-queue/?branch=master)

Overview
--------

[](#overview)

Simple multi driver queue system. This is essentially a port of the [Laravel](http://laravel.com/) queue system.

**Still very much a WIP not for use in production!**

Although it would be better to use `illuminate/queue` directly it has too many dependancies that would replicate `silverstripe/framework` functionality at this time. By porting the code we can take advantage of SilverStripes command line framework and dependancy injection whilst still having a feature rich and multi backend queue system.

So our thanks go to [Taylor Otwell](https://twitter.com/taylorotwell) et al for their excellent work on [Laravel](http://laravel.com/).

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

[](#requirements)

- SilverStripe 3.1 or newer.
- `pda/pheanstalk` 2.1 or newer for Beanstalkd support

Supported Backends
------------------

[](#supported-backends)

- Synchronous
- SilverStripe Database
- Beanstalkd
- IronMQ
- Amazon SQS
- Redis

Installation Instructions
-------------------------

[](#installation-instructions)

### Composer

[](#composer)

Run the following to add this module as a requirement and install it via composer.

```
$ composer require studiobonito/silverstripe-queue
```

### Manual

[](#manual)

Copy the 'queue' folder to your the root of your SilverStripe installation.

Configuration Overview
----------------------

[](#configuration-overview)

Configure the queue drivers with the following YAML.

```
StudioBonito\SilverStripe\Queue\QueueManager:
    default: 'db'
    db:
        driver: 'db'
        queue: 'default'
    beanstalkd:
        driver: 'beanstalkd'
        host: 'localhost'
        queue: 'default'
        ttr: 60
```

Usage Overview
--------------

[](#usage-overview)

### Import QueueManager

[](#import-queuemanager)

Import the `QueueManager` class for ease of use.

```
use StudioBonito\SilverStripe\Queue\QueueManager;
```

### Push A Job Onto The Queue

[](#push-a-job-onto-the-queue)

Use `QueueManager::inst()` to get an instance of the `QueueManger` class and then call the `push()` method passing in the name of a job handler and an array of data.

```
QueueManager::inst()->push('SendEmail', array('message' => $message));
```

### Creating A Job Handler

[](#creating-a-job-handler)

Job handlers are simple classes that contain a `run` method with `$job` and `$data` parameters.

```
class SendEmail {

    public function run($job, $data)
    {
        // Code for processing job goes here.
    }
}
```

Contributing
------------

[](#contributing)

### Unit Testing

[](#unit-testing)

```
$ composer install --prefer-dist --dev
$ phpunit
```

License
-------

[](#license)

All original work copyright of Taylor Otwell under [MIT license](http://opensource.org/licenses/MIT). All subsequent work copyright [Studio Bonito Ltd.](http://www.studiobonito.co.uk/) under BSD-2-Clause license.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

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

Total

9

Last Release

4360d ago

### Community

Maintainers

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

---

Tags

silverstripequeuebeanstalk

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/studiobonito-silverstripe-queue/health.svg)

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

###  Alternatives

[davidpersson/beanstalk

Minimalistic PHP client for beanstalkd.

200321.9k8](/packages/davidpersson-beanstalk)[xobotyi/beansclient

PHP7.1+ client for beanstalkd work queue with no dependencies

9226.8k](/packages/xobotyi-beansclient)[phlib/beanstalk

Library for handling beanstalk connections.

1014.9k2](/packages/phlib-beanstalk)

PHPackages © 2026

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