node package manager
Easy collaboration. Discover, share, and reuse code in your team. Create a free org »


firebase-work-queue - A Simple Firebase Queue

NPM Version of


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("");
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("");
var queue = new WorkQueue(itemsRef, function(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.


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