Find file
Fetching contributors…
Cannot retrieve contributors at this time
64 lines (47 sloc) 1.28 KB


Node-RQueue is a simple Redis based message queue for communicating between multiple platforms.

It uses a easy to implement message paradigm within Redis lists.

An example message:

  id: UUID,
  payload: 'JSON DATA',
  errors: ['HTTP 404'],
  error_count: 1

Messages are put onto the list with rpush, then the client listens for messages with the blpop command.



// Require the node-rqueue
var client = require('./node-rqueue');

// Create the Queue with a redis server listening on localhost:6379
var user_queue = new client.Queue({
  name: 'user',
  host: 'localhost',
  port: 6379

// Add a job to the queue.
user_queue.push('Any JSON.strinify-able data goes in this parameter', function (error, id) {
  // Handle errors
  if (error) throw error;
  // Second parameter is the message/job id.


// Require the node-rqueue
var client = require('./node-rqueue');

// Create a worker for each queue.
var worker = client.createWorker({
  name: 'user',
  host: 'localhost',
  port: 6379

// Setup message event
worker.on('message', function (job) {
  // Process message

  // Listen for next job;

// Start listening.