Giter Site home page Giter Site logo

rabbit-mq-admin-toolkit's Introduction

RabbitMQ Admin Toolkit

Build Status Latest Stable Version Latest Unstable Version

Installation

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

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

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.
  # 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

rabbit-mq-admin-toolkit's People

Contributors

odolbeau avatar stof avatar shine-neko avatar antoox avatar postcard-1952 avatar cvasseur avatar joelwurtz avatar iamluc avatar

Watchers

James Cloos avatar Michael COULLERET avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.