adtechpotok/messenger-adapter
Symfony Messenger transport built on Enqueue, enabling send/receive via supported brokers (e.g., AMQP/RabbitMQ). Configure Messenger with an enqueue:// DSN, route messages, and consume workers; supports queue/exchange options and per-message topic overrides.
This Symfony Messenger transport allows you to use Enqueue to send and receive your messages from all the supported brokers.
composer req enqueue/messenger-adapter
default Enqueue transport:# .env
# ...
###> enqueue/enqueue-bundle ###
ENQUEUE_DSN=amqp://guest:guest@localhost:5672/%2f
###< enqueue/enqueue-bundle ###
amqp) to use Enqueue's default transport:# config/packages/messenger.yaml
framework:
messenger:
transports:
amqp: enqueue://default
# config/packages/framework.yaml
framework:
messenger:
# ...
routing:
'App\Message\MyMessage': amqp
bin/console messenger:consume-messages amqp
In the transport DSN, you can add extra configuration. Here is the reference DSN (note that the values are just for the example):
enqueue://default
?queue[routingKey][name]=queue_name
&topic[name]=topic_name
&topic[type]=topic|fanout|direct
&deliveryDelay=1800
&delayStrategy=Enqueue\AmqpTools\RabbitMqDelayPluginDelayStrategy
&timeToLive=3600
&receiveTimeout=1000
&priority=1
You can send a message on a specific topic using TransportConfiguration envelope item with your message:
use Enqueue\MessengerAdapter\EnvelopeItem\TransportConfiguration;
// ...
$this->bus->dispatch((new Envelope($message))->with(new TransportConfiguration(
['topic' => 'specific-topic']
)));
How can I help you explore Laravel packages today?