Noctiflorous Pansy Mulch
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    easy-amqppublic

    easy-amqp

    Implements a wrapper around the node.js amqp module to provide more fluent and easy to use RabbitMQ support

    Usage

    Install via NPM

    $ npm install easy-amqp
    

    Overview

    In amqp the example given to subscribe to a queue on the default topic exchange is:

    var amqp = require('amqp');
    var connection = amqp.createConnection({ host: 'dev.rabbitmq.com' });
     
    // Wait for connection to become established.
    connection.on('ready', function () {
      // Use the default 'amq.topic' exchange
      connection.queue('my-queue', function(q){
          // Catch all messages
          q.bind('#');
     
          // Receive messages
          q.subscribe(function (message) {
            // Print messages to stdout
            console.log(message);
          });
      });
    });

    With easy-amq, the same code can be written as:

    require('easy-amqp')
      .createConnection('amqp://dev.rabbitmq.com:5672')
      .queue('my-queue')
      .bind('#')
      .subscribe(function(message) {
        console.log(message);
      });

    Connection

    To create a connection use the createConnection method on the module similar to amqp

    var easyamqp = require('easy-amqp');
     
    // Connections using an amqp URI are supported
    easyamqp.createConnection("amqp://localhost:5672");
     
    // Connections using options and implOptions like the amqp driver are supported
    easyamqp.createConnection({ host: 'localhost', port: 5672, login: 'guest', password: 'guest', vhost: '/' }, { defaultExchangeName: "amq.topic" })

    Exchange

    Create one or more exchanges on the connection object

    conn
      .exchange('my-exchange')
      .exchange('another-exchange', { type : 'fanout', durable : true }) // options from the amqp driver are supported
      // You must call publish or subscribe after this for the exchange(s) to be created

    Queue

    Create one or more queues on the connection object

    conn
      .queue('my-queue')
      .queue('another-queue', { durable : true }); // options from the amqp driver are supported
      // You must call subscribe after this for the queue(s) to be created

    Binding

    Calling bind will create a binding from the last referenced queue or exchange

    conn
      .queue('my-queue')
      .bind('my-exchange', '#'); // Create binding from my-queue to my-exchange
      // You must call subscribe after this for the bindings to be created

    Subscribe

    Calling this method will subscribe to the last referenced queue

    conn
      .queue('my-queue')
      .bind('my-exchange', '#')
      .subscribe(function(message, headers, deliveryInfo, rawMessage, queue) {
        console.log(message)
      });

    Publish

    Calling this method will publish a message to the last referenced exchange

    conn
      .exchange('my-exchange')
      .publish('routing-key', 'message')

    Tests

    To run the tests use

    $ make test
    

    Keywords

    none

    install

    npm i easy-amqp

    Downloadsweekly downloads

    104

    version

    0.1.3

    license

    none

    repository

    githubgithub

    last publish

    collaborators

    • avatar