PHP message queue using MongoDB as a backend.
- Message selection and/or count via MongoDB query
- Distributes across machines via MongoDB
- Message priority
- Delayed messages
- Running message timeout and redeliver
- Atomic acknowledge and send together
- Easy index creation based only on payload
use TraderInteractive\Mongo\Queue;
$queue = new Queue('mongodb://localhost', 'queues', 'queue');
$queue->send(new Message());
$messages = $queue->get([], ['runningResetDuration' => 60]);
foreach ($messages as $message) {
// Do something with message
$queue->ack($message);
}
To add the library as a local, per-project dependency use Composer! Simply add a
dependency on traderinteractive/mongo-queue
to your project's composer.json
file such as:
composer require traderinteractive/mongo-queue
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!
./vendor/bin/phpunit
./vendor/bin/phpcs
There is also a docker-based fig configuration that will execute the build inside a docker container. This is an easy way to build the application:
fig run build