Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A node.js implementation of RQueue, includes Worker and Queue

tree: 6bd29166ff

Fetching latest commit…

Cannot retrieve the latest commit at this time

README
Description
-----------

Node-redis-queue 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: 1,
      payload: 'Some 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.

Usage
-----

queue-server.js:

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

// 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.
});

queue-worker.js:

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

// 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
  process(job.payload);

  // Listen for next job
  worker.next();
});

// Start listening.
worker.start();
Something went wrong with that request. Please try again.