https://github.com/odolbeau/rabbit-mq-admin-toolkit
Manage a RabbitMQ cluster easily.
https://github.com/odolbeau/rabbit-mq-admin-toolkit
management php rabbit rabbitmq tooling toolkit
Last synced: about 1 year ago
JSON representation
Manage a RabbitMQ cluster easily.
- Host: GitHub
- URL: https://github.com/odolbeau/rabbit-mq-admin-toolkit
- Owner: odolbeau
- License: mit
- Created: 2014-09-06T10:05:06.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-03-22T16:37:49.000Z (about 2 years ago)
- Last Synced: 2024-10-14T02:23:52.162Z (over 1 year ago)
- Topics: management, php, rabbit, rabbitmq, tooling, toolkit
- Language: PHP
- Homepage:
- Size: 342 KB
- Stars: 84
- Watchers: 5
- Forks: 28
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# RabbitMQ Admin Toolkit
[](https://travis-ci.org/odolbeau/rabbit-mq-admin-toolkit)
[](https://packagist.org/packages/odolbeau/rabbit-mq-admin-toolkit)
[](https://packagist.org/packages/odolbeau/rabbit-mq-admin-toolkit)
## Installation
The recommended way to install RabbitMQ Tools is through
[Composer](https://getcomposer.org/). Require the
`odolbeau/rabbit-mq-admin-toolkit` package:
```bash
$ composer require odolbeau/rabbit-mq-admin-toolkit
```
## Usage
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).
## Configuration
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 exchange `dl` will be created.
* `with_unroutable`: is set to true, an `unroutable` exchange will be created
and all others ones will be configured to move unroutable messages to this
one. The `unroutable` exchange is a fanout exchange and a `unroutable` queue
is bind on it.
## Example
```yaml
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}
```
## License
This project is released under the MIT License. See the bundled LICENSE file
for details.
## Changelog
### BC breaks between 1.x and 2.0.x
* Short binding syntax is no more supported.
```yaml
# old syntax
queues:
my_queue:
bindings:
- my_exchange:my_routing_key
```
must be replaced by
```yaml
# new syntax
queues:
my_queue:
bindings:
-
exchange: my_exchange
routing_key: my_routing_key
```