dominionenterprises/mongo-queue-php

Message queue using MongoDB as a backend

Installs: 1 503

Dependents: 0

Stars: 31

Watchers: 20

Forks: 14

Open Issues: 4

Language: PHP

v1.1.0 2014-06-14 00:17 UTC

README

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.

Features

  • 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');
$queue->send(array());
$message = $queue->get(array(), 60);
$queue->ack($message);

Composer

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.*"
    }
}

Documentation

Found in the source itself, take a look!

Contact

Developers may be contacted at:

Contributing

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://127.0.0.1:27017 ./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