node-simple-queue
Version:
A simple queue for NodeJS, with usage similar to Resque in RoR
64 lines (46 loc) • 1.77 kB
Markdown
node-simple-queue
==========
A simple queue for NodeJS, with usage similar to Resque in RoR
### Installing module in Node Applicaiton
```node
$> npm install node-simple-queue
```
### Introduction
Application sometimes require to do some job later. Node Simple Queue is a really simple way to manage a job that application needs to do in background.
To define some job you want to perform later, you need to define the job, job is a simple Javascript class that has `perform` method:
```node
TestClass.js
------------
var TestJob=function(){}
TestJob.perform=function(data,done){
.....
....
done(null,true) // if your job is successful
done(err) // if your job fails
}
GLOBAL.TestJob=TestJob;
```
Next we need to put the job on the queue
```node
var NodeQueue=require('node-simple-queue').NodeQueue;
var queue=new NodeQueue();
queue.enqueueJob('Queue1','TestJob',{number:1});
```
in the above snippet of code you need to create the instance of `NodeQueue` class and then call `enqueueJob(queue,job_class_name,data)` method. Below are the 3 parameters of the function
```node
->queue : Name of the queue in which you need to put this job
->job_class_name : Name of the Job Class (String)
->data : Data that you need to pass to perform method of your job class. Data can be String or JSON Object.
```
Simple! This will be stored in MongoDB.
Now we can start up a worker to grab some work off of the queue and do the work:
```node
$> cd <to-your-project>
$> node_modules/node-simple-queue/bin/node-worker start QUEUE=Queue1 WORKERS=4
```
To Stop the worker
```node
$> cd <to-your-project>
$> node_modules/node-simple-queue/bin/node-worker stop QUEUE=Queue1
```
That's all you have to do for starting the Workers to work on 'Queue1' with 4 workers