bullmq

Implementes background job processing and task queues in Node.js TypeScript projects using BullMQ and Redis.

3|1|Updated Mar 11, 2026
One-click install
npx skills add https://github.com/jon23d/skillz --skill bullmq-jon23d
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bullmq
Source: https://github.com/jon23d/skillz/tree/main/skills/bullmq
Command: npx skills add https://github.com/jon23d/skillz --skill bullmq-jon23d

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires bullmq, ioredis, and includes references (resource) components.

What problem does it solve?

This Skill addresses the need for reliable background job processing, task queuing, and worker management in Node.js applications, especially when dealing with asynchronous operations and potential failures.

Core Features & Use Cases

  • Task Queuing: Implement robust task queues for background jobs using Redis.
  • Worker Management: Set up and manage workers to process jobs efficiently with configurable concurrency.
  • Delayed Jobs & Retries: Schedule jobs for future execution and configure automatic retries with exponential backoff for resilience.
  • Graceful Shutdown: Ensure all in-flight jobs are completed before shutting down workers and queues.
  • Use Case: A common scenario is sending out thousands of personalized emails. Instead of blocking the main application thread, each email can be added as a job to a BullMQ queue, processed by multiple workers, with automatic retries for any failures.

Quick Start

Use the bullmq skill to set up a queue named 'email' with default job options for retries and completion removal.

Frequently Asked Questions about bullmq

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I process background jobs in Node.js without blocking the main thread?

Background job processing in Node.js is handled by offloading asynchronous operations to task queues. You can queue jobs like sending emails for workers to process independently, ensuring the main application thread remains unblocked.

Do I need Redis to manage task queues and workers in TypeScript?

Yes, Redis is required for task queue persistence. Client connections are established using ioredis, allowing BullMQ to store job data and manage worker coordination reliably across your Node.js application.

How do I configure automatic retries with exponential backoff for failed background jobs?

Automatic retries with exponential backoff are configured through default job options when setting up a queue. This resilience mechanism ensures failed jobs are scheduled for re-execution automatically without manual intervention.

Can I schedule delayed jobs for future execution in a Node.js worker queue?

Yes, delayed jobs can be scheduled for future execution. This allows you to queue tasks that must run at a specific time, managed through the Redis-backed queue and processed by available workers.

What is the best way to handle graceful shutdown for active workers and in-flight jobs?

Graceful shutdown ensures all in-flight jobs are completed before terminating workers and queues. This prevents data loss and maintains task integrity during application restarts or deployments.

How do I set up worker concurrency for processing thousands of personalized emails?

Worker concurrency is configured during worker setup to process jobs efficiently. By adding each email as a job to a queue, multiple workers can process thousands of personalized emails concurrently with automatic failure retries.