Enqueue Producer for Prooph Service Bus http://getprooph.org
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
tests
.docheader
.gitignore
.php_cs
.php_cs.cache
.travis.yml
LICENSE
README.md
composer.json
phpunit.xml.dist

README.md

Enqueue Message Producer for Prooph Service Bus

Use Enqueue as a message producer for Prooph Service Bus.

Important

This library will receive support until December 31, 2019 and will then be deprecated.

For further information see the official announcement here: https://www.sasaprolic.com/2018/08/the-future-of-prooph-components.html

Installation

You can install the producer via composer by executing $ composer require prooph/psb-enqueue-producer.

Usage

Check the EnqueueMessageProducerTest. Set up the producer is a straightforward task. Most of the required components are provided by PSB and Enqueue. This package only provides the glue code needed to let both systems work together.

Why Enqueue producer

  • You choose a transport from many supported ones.
  • Could be used from Symfony as well as plain PHP.
  • Supports delayed messages (if transport supports it).
  • Supports events, commands and queues with possibility to get result.
  • Simple and clean code.

Symfony configuration

If you're using the EnqueueBundle you can configure the classes from this package like this:

services:
    Prooph\ServiceBus\Message\Enqueue\EnqueueSerializer:
    Prooph\ServiceBus\Message\Enqueue\EnqueueMessageProducer:
        $commandName: 'my_application'
        $replyTimeout: 1000 # Timeout in milliseconds.
    Prooph\ServiceBus\Message\Enqueue\EnqueueMessageProcessor:
        tags:
            - { name: 'enqueue.client.processor', topicName: '__command__', processorName: 'my_application' }

Then you can run the processor like this:

bin/console enqueue:consume --setup-broker -vvv

See the Enqueue documentation for more information.

Support

License

It is released under the MIT License.