Skip to content

prooph/psb-enqueue-producer

Repository files navigation

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.processor', command: 'my_application' }
            # For enqueue 0.8 use this instead.
            #- { 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.