BullMQ Job Queues
Purpose
Generate BullMQ job queues with tenant isolation, automatic retry logic with exponential backoff, dead letter queue configuration, and comprehensive error handling.
When to Use
- •Creating background job processors (emails, reports, batch operations)
- •Implementing async workflows with retries
- •Building tenant-isolated job queues
- •Creating scheduled/recurring jobs
- •Processing AI requests with priority queues
What It Generates
Directory Structure
code
apps/api/src/modules/{feature}/queues/
├── {queue}-queue.service.ts
├── {queue}-queue.spec.ts
├── {queue}-worker.service.ts
└── index.ts
Patterns Enforced
Tenant Isolation
- •Job queues are tenant-prefixed:
tenant:{tenantId}:{queueName} - •Job data includes
tenantIdfor processing context - •Workers validate tenant access before processing
Retry Configuration
- •Default: 3 attempts with exponential backoff (2s base)
- •Customizable per job type
- •Dead letter queue for permanently failed jobs
Priority Support
- •Jobs support priority levels (1-10, lower = higher priority)
- •Separate queues for high/normal/low priority
- •AI requests use high-priority queue
Usage Example
bash
/skill queue-bullmq --name=Email --jobs='welcome,password-reset,report' --withScheduler=true
Related Files
- •Event RabbitMQ - Event-driven job scheduling
- •Cache Redis - Caching job results
- •Tracing OTEL - OpenTelemetry job tracing