hgtan/rabbitmq-bundle

Hello RabbitMq Bundle

dev-master / 1.0.1.x-dev 2015-07-23 08:38 UTC

This package is not auto-updated.

Last update: 2024-04-27 15:31:35 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

Build Status Coverage Status Quality Score HHVM Status

SensioLabsInsight

Messaging in your application via RabbitMQ using the php-amqplib library and the following bundle:

Installation

Step 1: Using Composer

composer.json

    php composer.phar require hgtan/rabbitmq-bundle:dev-master

Step 2 : Register the bundle

Then register the bundle with your kernel:

    <?php

    // in AppKernel::registerBundles()
    $bundles = array(
        // ...
        new Hgtan\Bundle\HelloRabbitMqBundle\HgtanHelloRabbitMqBundle(),
        // ...
    );

Step 3 : Configure the bundle

    # app/config/config.yml
    old_sound_rabbit_mq:
        connections:
            default:
                host:     'localhost'
                port:     5672
                user:     'guest'
                password: 'guest'
                vhost:    '/'
                lazy:     false
                #connection_timeout: 3
                #read_write_timeout: 3

                # requires php-amqplib v2.4.1+ and PHP5.4+
                #keepalive: false

                # requires php-amqplib v2.4.1+
                #heartbeat: 0
        producers:
            hello_world:
                connection:       default
                exchange_options: {name: 'hello', type: direct}
                class:            Hgtan\Bundle\HelloRabbitMqBundle\Cakper\HelloProducer
        consumers:
            hello_world:
                connection:       default
                exchange_options: {name: 'hello', type: direct}
                queue_options:    {name: 'hello'}
                callback:         hello_world_service

Import HelloRabbitMqBundle routing files

    # app/config/routing.yml
    hgtan_hello_rabbit_mq:
        resource: "@HgtanHelloRabbitMqBundle/Controller/"
        type:     annotation
        prefix:   /

Step 4 : Example

    #RabbitMQ Management
    http://localhost:15672/#/

    $ php app/console server:run

    $ php app/console rabbitmq:consumer hello_world

    # Limit number of messages
    $ php app/console rabbitmq:consumer hello_world -m 10

    http://127.0.0.1:8000/hello/rabbitmq