The recommended way to install RabbitMQ Tools is through
Composer. Require the
odolbeau/rabbit-mq-admin-toolkit
package:
$ composer require odolbeau/rabbit-mq-admin-toolkit
You can create / update vhosts with the following command:
vendor/bin/rabbit vhost:mapping:create conf/vhost/events.yml
You can change all connection informations with options. Launch ./console vhost:create -h
to have more informations.
You can launch the vhost creation even if the vhost already exist. Nothing will be deleted (and it will not impact workers).
You can use the followings parameters for configuring an exchange:
with dl
: if set to true, all queues in the current vhost will be automatically configured to have a dl (with name:{queueName}_dl
). Of course, the exchangedl
will be created.with_unroutable
: is set to true, anunroutable
exchange will be created and all others ones will be configured to move unroutable messages to this one. Theunroutable
exchange is a fanout exchange and aunroutable
queue is bind on it.
my_vhost_name:
permissions:
my_user:
configure: amq\.gen.*
read: .*
write: .*
parameters:
with_dl: true # If true, all queues will have a dl and the corresponding mapping with the exchange "dl"
with_unroutable: true # If true, all exchange will be declared with an unroutable config
exchanges:
my_exchange:
type: direct
durable: true
with_unroutable: true #if true, unroutable exchange will be created (if not already set as global parameter)
my_exchange_headers:
type: headers
durable: true
queues:
my_queue:
durable: true
delay: 5000 #create delayed message queue (value is in milliseconds)
bindings:
-
exchange: my_exchange
routing_key: my_routing_key
-
exchange: my_exchange
routing_key: other_routing_key
another_queue:
durable: true
with_dl: false
retries: [25, 125, 625]
bindings:
-
exchange: my_exchange_headers
x-match: all
matches: {header_name: value, other_header_name: some_value}
This project is released under the MIT License. See the bundled LICENSE file for details.
- Short binding syntax is no more supported.
# old syntax
queues:
my_queue:
bindings:
- my_exchange:my_routing_key
must be replaced by
# new syntax
queues:
my_queue:
bindings:
-
exchange: my_exchange
routing_key: my_routing_key