nsqubicle

easy to use module for nsq

nsqubicle

Wraps nsq.js into an easy to use interface

npm install nsqubicle

Read messages using pull and write messages using push

var nsq = require('nsqubicle');
var queue = nsq({
    nsqd: ['127.0.0.1:4150'],
    channel: 'my-channel'
});
 
queue.pull('test', function(messagecallback) {
    console.log('we have pulled a message!', message);
    callback(); // we are done with the message 
});
 
queue.push('test', {hello:'world'});

The options map is passed directly to nsq.js as well. In addition to the regular nsq options you can pass

{
    namespace: 'namespace-topics-with-me',
    broadcast: true // set to false to disable broadcasting 
}

If you call the callback with an error the message will be requeued.

Per default nsqubicle broadcast all messages to a broadcast topic as well. You can read these messages by calling pull without a topic

queue.pull(function(topicmessagecallback) {
    console.log('someone pushed to', topic, 'with message', message);
    callback();
});

MIT