traderinteractive/mongo-queue

Message queue using MongoDB as a backend

v4.1.0 2023-08-04 19:43 UTC

This package is auto-updated.

Last update: 2024-12-04 22:31:57 UTC


README

Scrutinizer Code Quality

Latest Stable Version Latest Unstable Version License

Total Downloads Daily Downloads Monthly Downloads

PHP message queue using MongoDB as a backend.

Features

  • 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

Simplest use

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);
}

Composer

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

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!

./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