Message queue using MongoDB as a backend

Installs: 2 369

Dependents: 0

Stars: 32

Watchers: 38

Forks: 13

Open Issues: 5

v1.2.0 2015-09-24 18:23 UTC


Build Status Scrutinizer Code Quality Code Coverage

Latest Stable Version Total Downloads License

PHP message queue using MongoDB as a backend. Adheres to the 1.0.0 specification.


  • Message selection and/or count via MongoDB query
  • Distributes across machines via MongoDB
  • Multi language support through the specification
  • Message priority
  • Delayed messages
  • Running message timeout and redeliver
  • Atomic acknowledge and send together
  • Easy index creation based only on payload

Simplest use

use DominionEnterprises\Mongo\Queue;

$queue = new Queue('mongodb://localhost', 'queues', 'queue');
$message = $queue->get(array(), 60);


To add the library as a local, per-project dependency use Composer! Simply add a dependency on dominionenterprises/mongo-queue-php to your project's composer.json file such as:

    "require": {
        "dominionenterprises/mongo-queue-php": "1.*"


Found in the source itself, take a look!


Developers may be contacted at:


If you would like to contribute, please use our build process for any changes and after the build passes, send us a pull request on github! The build requires a running mongo. The URI to mongo can be specified via an environment variable or left to its default (localhost on the default port, 27017):

TESTING_MONGO_URL=mongodb:// ./build.php

There is also a docker-based fig configuration that will standup a docker container for the database, execute the build inside a docker container, and then terminate everything. This is an easy way to build the application:

fig run build