0.0.18 • Published 9 years ago

queue-client v0.0.18

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

RabbitMQ Node.js simple client

This Node.js client for RabbitMQ provides simple PUB/SUB features.

Initialization of the client

var queue_client = require('queue-client');
var exchange_name = 'exchange-to-use';
var rabbitmq_connection = {
  host: 'localhost',
  port: 5672,
  login: 'guest',
  password: 'guest',
  authMechanism: 'AMQPLAIN',
  vhost: '/',
  ssl: {
    enabled: false
  }
};

queue = queue_client.init(exchange_name, rabbitmq_connection)

The rabbitmq_connection is sent to the createConnection method of the amqp library. Check its documentation to see the available options/defaults.

Example of use to publish messages:

var topic = 'user.created';
queue.publish(topic, {user_id: 4});

Example of use to subscribe to messages:

var queue_name = 'welcome_emails';
queue.subscribe(queue_name, {ordered: true}, {
  'user.created': function(payload, done) {
    var user_id = payload.user_id;
    // send welcome email to user_id
    done(true);
  }
});

Delayed Queues

To create a delayed queue, specify the delay in milliseconds in the subscription options:

var queue_name = 'apns_notifications';
queue.subscribe(queue_name, {delay: 2000}, {
  'user.created': function(payload, done) {
    var user_token = payload.user_token;
    // send apns notification to user_token
    done(true);
  }
});

Note that order is NOT guaranteed across different routing keys in delayed queues.

0.0.18

9 years ago

0.0.17

9 years ago

0.0.16

10 years ago

0.0.15

10 years ago

0.0.14

10 years ago

0.0.13

10 years ago

0.0.12

10 years ago

0.0.11

10 years ago

0.0.10

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.4

10 years ago

0.0.2

10 years ago