tristanz / firebase-work-queue

An example of processing data using Firebase as a queuing system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

firebase-work-queue - A Simple Firebase Queue

NPM Version of https://github.com/firebase/firebase-work-queue.

Usage

npm install firebase
npm install firebase-work-queue

You can generate a job by pushing data to a Firebase list:

var Firebase = require("firebase");
var workItems = new Firebase("https://workqueue.firebaseio-demo.com/");
workItems.push({data: 'some data')});

The WorkQueue uses transactions to ensure that each job is only given to one worker:

var Firebase = require("firebase");
var WorkQueue = require("firebase-work-queue");
var itemsRef = new Firebase("https://workqueue.firebaseio-demo.com/");
var queue = new WorkQueue(itemsRef, function(job, done) () {
  console.log(job);
  done()
});

The done callback notifies the queue that it is ready for a new job. You can start as many workers or generators as you like and each job will be processed just once.

Example

The examples folder contains a full example of processing data using Firebase as a queuing system.

To process elements in the work queue, start a worker like this:

node examples/worker.js

To add new elements to the work queue, start the generator, like this:

node examples/generator.js

License

MIT.

About

An example of processing data using Firebase as a queuing system


Languages

Language:JavaScript 100.0%