0.6.0 • Published 8 years ago

gustav-rabbitmq-pubsub v0.6.0

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

RabbitMQ Publisher Subscriber

A promise based API on top of ampqlib.

Build Status Test Coverage Code Climate Coverage Status NPM version

Dependency Status

Install

$ npm install --save rabbitmq-pubsub

Usage

Publisher

var Publisher = require('rabbitmq-pubsub').Publisher;

var publisherOptions = {
  exchange: 'user',
  type: 'topic',
  url: 'amqp://localhost'
};

var publisher = new Publisher(publisherOptions);
publisher.start()
.then(function() {
  publisher.publish('myRoutingKey', 'Ciao');
})

Subscriber

var Subscriber = require('rabbitmq-pubsub').Subscriber;
var subscriberOptions = {
  exchange: 'user',
  queueName: 'user',
  routingKeys:['user.regiser', 'user.resetpassword']
};

var subscriber = new Subscriber(subscriberOptions);

function onIncomingMessage(message) {
  debug('onIncomingMessage ', message.fields);

  assert(message);
  assert(message.content);
  assert(message.content.length > 0);

  subscriber.ack(message);

  //subscriber.nack(message);
};

subscriber.start(onIncomingMessage)

Test

Make sure the rabbitmq server is running locally before running the test

$ npm test

License

MIT © Frederic Heem