queue-client
v0.0.18
Published
Node.js rabbitmq client
Downloads
11
Readme
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.