PHPackages                             mgdigital/busque - 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. mgdigital/busque

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

mgdigital/busque
================

A flexible, modern command queue and scheduler for PHP7, built on Redis

v0.2.3(9y ago)1176.8k1[2 issues](https://github.com/mgdigital/BusQue/issues)1MITPHPPHP &gt;=7.0

Since Jun 2Pushed 9y ago8 watchersCompare

[ Source](https://github.com/mgdigital/BusQue)[ Packagist](https://packagist.org/packages/mgdigital/busque)[ RSS](/packages/mgdigital-busque/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (8)Versions (24)Used By (1)

BusQue
======

[](#busque)

[![Build Status](https://camo.githubusercontent.com/1d82db55b5c18eac8ebb8eb7643cc49de190d21fb9f0eee6b3fad3e4ab9cdc0b/68747470733a2f2f7472617669732d63692e6f72672f6d676469676974616c2f4275735175652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/mgdigital/BusQue) [![Scrutinizer Code Quality](https://camo.githubusercontent.com/889ed950fcb2a87c0840626667ac173fbeb2f94ff41d398884890ed62959f40e/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6d676469676974616c2f4275735175652f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/mgdigital/BusQue/?branch=master) [![Code Coverage](https://camo.githubusercontent.com/85cd95f0e6e084ea4f16602fc0acf1385448088140c87408f8886766a6be3c2b/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6d676469676974616c2f4275735175652f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/mgdigital/BusQue/?branch=master) [![SensioLabsInsight](https://camo.githubusercontent.com/f1d8177530c8d803584ec7f70d9d1480af8b711ddac61543f9e45f2e15e2ba96/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f34323562373130342d353139612d343239322d616265322d6266656263636565363433652f736d616c6c2e706e67)](https://insight.sensiolabs.com/projects/425b7104-519a-4292-abe2-bfebccee643e)

### A flexible, modern command queue and scheduler for PHP7, built on Redis

[](#a-flexible-modern-command-queue-and-scheduler-for-php7-built-on-redis)

I built BusQue because I found a lack of choice of simple message queues for medium-sized PHP applications.

The name BusQue signifies Command Bus + Message Queue. It was designed to be used in conjunction with [Tactician](https://github.com/thephpleague/tactician) and [Redis](http://redis.io/) using either the [PHPRedis](https://github.com/phpredis/phpredis) or [Predis](https://github.com/nrk/predis) clients, along with a serializer such as PHP serialize(), but is open to replacement with alternate adapters.

One key feature I found missing in other queues is the ability to assign a unique ID to a job, allowing the same job to be queued multiple times but have it only execute once after the last insertion.

[MGDigitalBusQueBundle](https://github.com/mgdigital/BusQueBundle) provides integration with the [Symfony](http://symfony.com/) framework.

Installation
------------

[](#installation)

Install with composer:

```
composer require mgdigital/busque

```

Or get the Symfony bundle:

```
composer require mgdigital/busque-bundle

```

You'll also need a [Redis](http://redis.io/) server to run the queues on.

Usage
-----

[](#usage)

To use BusQue you first need to instantiate an instance of `BusQue\Implementation` with its dependencies. A basic configuration could look something like this:

```
