Registry / messaging / firebase-queue

firebase-queue

JSON →
library1.6.1jsnpmunverified

Firebase Queue is a fault-tolerant, multi-worker, multi-stage job pipeline built on the Firebase Realtime Database. The current stable version is 1.6.1, with a low release cadence (last release in 2016). It allows you to define job processing functions that run in workers, automatically handling task lifecycle (reserved, started, finished, error). Key differentiators: direct integration with Firebase RTDB, no external message broker needed; supports multiple workers and stages; focuses on reliability with automatic retries and error handling. Alternatives like Bull or Kue require Redis. Note: this library is no longer actively maintained; users are advised to migrate to Google Cloud Tasks or Pub/Sub.

npm install firebase-queue
INSTALL
IMPORT
SIG · FIREBASE-QUEUE
F
firebase-queue
messagingjavascriptv1.6.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Queue
var Queue = require('firebase-queue');
import Queue from 'firebase-queue';
This is a CommonJS library; ESM import may fail without bundler configuration.
Queue constructor with spec
var Queue = require('firebase-queue'); var queueRef = new Firebase('https://<your-firebase>.firebaseio.com/queue'); var queue = new Queue(queueRef, {});
var queue = new Queue();
Queue constructor requires a Firebase reference to the queue path.
task processing function
function(error, task, progress, done) { // process task done(null, result); }
function(task, done) {}
The processing function signature includes error, task, progress, and done parameters.

Demonstrates creating a queue, defining a task processor, and adding a task to the queue using Firebase Realtime Database.

var Firebase = require('firebase'); var Queue = require('firebase-queue'); // Initialize Firebase (legacy SDK) var fbRef = new Firebase('https://<YOUR-FIREBASE>.firebaseio.com/'); var queueRef = fbRef.child('queue'); // Define a task processor var taskProcessor = function(error, task, progress, done) { if (error) { console.error('Error processing task:', error); done(error); return; } console.log('Processing task:', task); progress(50); // report progress as 50% setTimeout(function() { // Simulate processing console.log('Task complete:', task); done(null, {result: 'success'}); }, 2000); }; // Create queue and start processing var queue = new Queue(queueRef, taskProcessor); // Add a task queueRef.push({ type: 'email', data: { to: 'user@example.com', subject: 'Hello' } });
Debug
Known issues
deprecatedfirebase-queue is no longer actively maintained and not compatible with Firebase Admin SDK or modular Firebase v9+. Use Google Cloud Tasks or Pub/Sub instead.
fix
Migrate to Google Cloud Tasks or Pub/Sub for job queue functionality.
affects: >=1.0.0
breakingUses legacy Firebase SDK (firebase 2.x). Not compatible with firebase 3.x+ or firebase-admin. You must install firebase 2.x explicitly.
fix
Install firebase@2.x as peer dependency: npm install firebase@2 firebase-queue
affects: >=1.0.0
gotchaQueue tasks are not persisted if the worker crashes before calling done(). The task remains in a 'reserved' state and may be retried, but no progress is saved.
fix
Implement idempotent tasks and use progress() to checkpoint intermediate results.
affects: >=1.0.0
Errors
Common errors & fixes
Error: FirebaseQueue: No Firebase reference provided.
Queue constructor called without a Firebase reference argument.
fix
Pass a Firebase reference to the queue path: var queue = new Queue(firebaseRef, options);
Error: Cannot find module 'firebase-queue'
firebase-queue not installed, or installed in wrong location.
fix
Run 'npm install firebase-queue --save' from the project root.
Upgrade
Version history
1.6.1latest on npm
Audit
Dependencies
firebaserequiredpeer dependency for Firebase Realtime Database access
Agent activity
14 hits · last 30 days
node
10
OpenAI (training)
1
Resources
firebase-queue — npm install firebase-queue · libregistry