Registry / storage / embedded-queue

embedded-queue

JSON →
library0.0.11jsnpmunverified

embedded-queue is a job/message queue for Node.js and Electron that persists data using NeDb embedded database, eliminating the need for external processes like Redis or MySQL. Current stable version is 0.0.11 with low release cadence. Key differentiators are zero external dependencies for persistence (NeDb is embedded), and a simple API for creating jobs, processors, and event handlers.

npm install embedded-queue
INSTALL
IMPORT
SIG · EMBEDDED-QUEUE
E
embedded-queue
storagejavascriptv0.0.11
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
const { Queue } = require('embedded-queue');
const EmbeddedQueue = require('embedded-queue'); const queue = EmbeddedQueue.Queue.createQueue();
CommonJS: destructure Queue from the package. Version <=1 supported this pattern.
Queue
import { Queue } from 'embedded-queue';
ESM: named import. Note: the package does not provide default export.
Event
const { Event } = require('embedded-queue');
const EmbeddedQueue = require('embedded-queue'); EmbeddedQueue.Event.Complete;
Event is a named export containing constants like Complete, Failure, etc.
Job
import { Job } from 'embedded-queue';
TypeScript type import for Job interface, e.g., import type { Job } from 'embedded-queue';

Shows basic queue creation, job processing, event handling, job creation, and shutdown.

const { Queue, Event } = require('embedded-queue'); (async () => { const queue = await Queue.createQueue({ inMemoryOnly: true }); queue.process('adder', async (job) => job.data.a + job.data.b, 1); queue.on(Event.Complete, (job, result) => { console.log(`Job ${job.id} completed with result ${result}`); }); await queue.createJob({ type: 'adder', data: { a: 1, b: 2 } }); setTimeout(async () => { await queue.shutdown(1000); }, 100); })();
Debug
Known issues
gotchaQueue.createQueue only accepts NeDb options object, not a callback; missing await causes initialization race.
fix
Always await Queue.createQueue() or handle the returned Promise.
affects: >=0.0.1
deprecatedThe default export EmbeddedQueue is deprecated; use named exports { Queue, Event }.
fix
Replace const EmbeddedQueue = require('embedded-queue') with const { Queue, Event } = require('embedded-queue').
affects: >=0.0.10
gotchaJob processor must return a Promise; returning a plain value may cause undefined behavior.
fix
Wrap synchronous return in Promise.resolve() or make the processor async.
affects: >=0.0.1
gotchaQueue events like Complete receive (job, result) but Failure receives (job, error); mixing them up leads to runtime errors.
fix
Consult the event handler signature table in the README before implementing handlers.
affects: >=0.0.1
Errors
Common errors & fixes
TypeError: EmbeddedQueue.Queue is undefined
Using default import when the package only exports named members.
fix
Use const { Queue, Event } = require('embedded-queue'); or import { Queue } from 'embedded-queue';
Error: db is not defined
Missing await on Queue.createQueue(queueOptions).
fix
Make sure to await the Promise: const queue = await Queue.createQueue({...});
Upgrade
Version history
0.0.11latest on npm
Audit
Dependencies
nedbrequiredembedded-queue uses NeDb as its embedded database for persistence
Agent activity
29 hits · last 30 days
node
26
Amazon
1
OpenAI (training)
1
Resources
embedded-queue — npm install embedded-queue · libregistry