2.0.0 • Published 10 years ago

node-amqp-wrapper v2.0.0

Weekly downloads
6
License
BSD-2-Clause
Repository
github
Last release
10 years ago

node-amqp-wrapper

A simple wrapper to https://github.com/squaremo/amqp.node.

Allows you to have any number of publish queues, one consume queue and to perform consume and publish operations.

Handles assert/declare of queues.

Example usage

var AMQP = require('node-amqp-wrapper');

var queues = {
  consume: {
    name: process.env.AMQP_CONSUME,
    options: {deadLetterExchange: process.env.AMQP_DEAD_LETTER_EXCHANGE}
  },
  publish: [
    {
      name: process.env.AMQP_RESPONSE,
      routingKey: process.env.AMQP_RESPONSE_ROUTING_KEY,
      options: {/* ... */} // options passed to ch.assertQueue() in wrapped lib.
    },
    { // ...
    }
  ]
};

AMQP.connect(process.env.AMQP_URL, process.env.AMQP_EXCHANGE,
    queues, amqpConnectDone);

// Set the QOS/prefetch.
AMQP.prefetch(100);

// Consuming
var handleMessage = function(message, callback) {
	//...
};
// You must call:
callback(err, requeue)
// in your handleMessage. If `err` !== `null` then the message will be `nack`ed.
// Requeueing will be requeue iff `requeue` is `true`.
// If `err` is `null` then the message is `ack`ed.
// If an exception occurs in handleMessage, then the message is `nack`ed and not requeued.

// Start consuming:
AMQP.consume(handleMessage);

// Publishing to one of the queues declared on connect.
AMQP.publishToQueue(name, payload, done);

// Publishing to arbitrary routing key.
AMQP.publish(routingKey, payload, done);
2.0.0

10 years ago

1.0.0

10 years ago

0.2.0

10 years ago