Registry / devops / nestjs-simple-queue

nestjs-simple-queue

JSON →
library3.2.3jsnpmunverified

Version 3.2.3. Lightweight in-process job queue for NestJS with no external dependencies like Redis. Supports retries, prioritization, delayed jobs, per-queue rate limiting, deduplication, and dead letter queues. Ships TypeScript types, requires Node.js 20+ and @nestjs/event-emitter as a peer dep. Released under MIT, maintained actively as of 2025. Differentiator: predictable single-process job handling without Redis, ideal for small-to-medium NestJS apps that need background tasks without operational overhead.

npm install nestjs-simple-queue
INSTALL
IMPORT
SIG · NESTJS-SIMPLE-QUEU
N
nestjs-simple-queue
devopsjavascriptv3.2.3
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.

QueueModule
import { QueueModule } from 'nestjs-simple-queue'
import QueueModule from 'nestjs-simple-queue'
Named export only; default export does not exist.
QueueService
import { QueueService } from 'nestjs-simple-queue'
const QueueService = require('nestjs-simple-queue').QueueService
CommonJS require works but TypeScript projects should use ESM imports.
QueueJob
import { QueueJob } from 'nestjs-simple-queue'
Decorator for processor methods; must be used inside @Injectable() classes.
QueueProcessor
import { QueueProcessor } from 'nestjs-simple-queue'
Alternative decorator for entire classes; use either QueueJob on methods or QueueProcessor on class with method-level decorators.

Defines a queue processor class with @QueueJob decorator, registers it via QueueModule.forProcessors, then injects QueueService to enqueue jobs.

import { Module, Injectable } from '@nestjs/common'; import { QueueModule, QueueService, QueueJob } from 'nestjs-simple-queue'; @Injectable() class EmailProcessor { @QueueJob('send-email') async sendEmail(payload: { to: string; subject: string }) { console.log(`Email sent to ${payload.to}`); } } @Module({ imports: [ QueueModule.forRoot({ concurrency: 3 }), QueueModule.forProcessors([EmailProcessor]), ], }) export class AppModule {} // In a service: @Injectable() export class MyService { constructor(private readonly queue: QueueService) {} async doSomething() { await this.queue.add('send-email', { to: 'user@example.com', subject: 'Hi' }); } }
Debug
Known issues
breakingBreaking change in v3: QueueModule.forRoot() options structure changed. The option 'retryLimit' has been renamed to 'retryStrategy'.
fix
Use retryStrategy instead of retryLimit in the options object passed to forRoot().
affects: >=3.0.0
deprecatedQueueProcessor decorator is soft-deprecated in v3.2; QueueJob on methods is preferred.
fix
Use @QueueJob('job-name') on individual methods instead of @QueueProcessor() on the class.
affects: >=3.2.0
gotchaThe library requires @nestjs/event-emitter as a peer dependency, but developers often forget to install it.
fix
Add @nestjs/event-emitter to your package.json dependencies.
affects: >=3.0.0
gotchaIn-memory jobs are lost on process restart unless persistence is enabled via the 'persist' option.
fix
Enable file-based persistence by setting { persist: { enabled: true, path: './queue-data.json' } } in forRoot().
affects: >=1.0.0
Errors
Common errors & fixes
Cannot find module '@nestjs/event-emitter'
Missing peer dependency
fix
npm install @nestjs/event-emitter
QueueService.add is not a function
QueueService not properly injected (likely missing QueueModule.forRoot())
fix
Ensure QueueModule.forRoot() is imported in the module where QueueService is used.
TypeError: Class constructor MyProcessor cannot be invoked without 'new'
Processor class not marked with @Injectable()
fix
Add @Injectable() decorator to the processor class.
Upgrade
Version history
3.2.3latest on npm
Audit
Dependencies
@nestjs/commonrequiredCore NestJS framework peer dependency
@nestjs/event-emitterrequiredRequired for event-based lifecycle hooks (start, success, failure)
Agent activity
7 hits · last 30 days
node
6
Amazon
1
Resources
nestjs-simple-queue — npm install nestjs-simple-queue · libregistry