# BullMQ

## BullMQ

- [What is BullMQ](https://docs.bullmq.io/readme.md): General description of BullMQ and its features
- [Quick Start](https://docs.bullmq.io/readme-1.md): This is a basic guide to get your first queue working.
- [Changelogs](https://docs.bullmq.io/changelog.md)
- [v4](https://docs.bullmq.io/changelog/changelog-v4.md)
- [v3](https://docs.bullmq.io/changelog/changelog-v3.md)
- [v2](https://docs.bullmq.io/changelog/changelog-v2.md)
- [v1](https://docs.bullmq.io/changelog/changelog-v1.md)
- [Introduction](https://docs.bullmq.io/guide/introduction.md)
- [Connections](https://docs.bullmq.io/guide/connections.md)
- [Queues](https://docs.bullmq.io/guide/queues.md)
- [Auto-removal of jobs](https://docs.bullmq.io/guide/queues/auto-removal-of-jobs.md)
- [Adding jobs in bulk](https://docs.bullmq.io/guide/queues/adding-bulks.md)
- [Global Concurrency](https://docs.bullmq.io/guide/queues/global-concurrency.md)
- [Global Rate Limit](https://docs.bullmq.io/guide/queues/global-rate-limit.md)
- [Meta](https://docs.bullmq.io/guide/queues/meta.md)
- [Removing Jobs](https://docs.bullmq.io/guide/queues/removing-jobs.md)
- [Workers](https://docs.bullmq.io/guide/workers.md)
- [Auto-removal of jobs](https://docs.bullmq.io/guide/workers/auto-removal-of-jobs.md)
- [Concurrency](https://docs.bullmq.io/guide/workers/concurrency.md)
- [Graceful shutdown](https://docs.bullmq.io/guide/workers/graceful-shutdown.md)
- [Cancelling jobs](https://docs.bullmq.io/guide/workers/cancelling-jobs.md)
- [Stalled Jobs](https://docs.bullmq.io/guide/workers/stalled-jobs.md)
- [Sandboxed processors](https://docs.bullmq.io/guide/workers/sandboxed-processors.md): Running jobs in isolated processes
- [Pausing queues](https://docs.bullmq.io/guide/workers/pausing-queues.md)
- [Jobs](https://docs.bullmq.io/guide/jobs.md)
- [FIFO](https://docs.bullmq.io/guide/jobs/fifo.md): First-In, First-Out
- [LIFO](https://docs.bullmq.io/guide/jobs/lifo.md): Last-in, First Out
- [Job Ids](https://docs.bullmq.io/guide/jobs/job-ids.md)
- [Job Data](https://docs.bullmq.io/guide/jobs/job-data.md)
- [Deduplication](https://docs.bullmq.io/guide/jobs/deduplication.md)
- [Delayed](https://docs.bullmq.io/guide/jobs/delayed.md)
- [Repeatable](https://docs.bullmq.io/guide/jobs/repeatable.md)
- [Prioritized](https://docs.bullmq.io/guide/jobs/prioritized.md)
- [Removing jobs](https://docs.bullmq.io/guide/jobs/removing-job.md)
- [Retrying jobs](https://docs.bullmq.io/guide/jobs/retrying-job.md)
- [Stalled](https://docs.bullmq.io/guide/jobs/stalled.md)
- [Getters](https://docs.bullmq.io/guide/jobs/getters.md)
- [Job Schedulers](https://docs.bullmq.io/guide/job-schedulers.md): Job Schedulers replace "repeatable jobs", and are available in v5.16.0 and onwards
- [Repeat Strategies](https://docs.bullmq.io/guide/job-schedulers/repeat-strategies.md)
- [Repeat options](https://docs.bullmq.io/guide/job-schedulers/repeat-options.md)
- [Manage Job Schedulers](https://docs.bullmq.io/guide/job-schedulers/manage-job-schedulers.md)
- [Flows](https://docs.bullmq.io/guide/flows.md)
- [Adding flows in bulk](https://docs.bullmq.io/guide/flows/adding-bulks.md)
- [Get Flow Tree](https://docs.bullmq.io/guide/flows/get-flow-tree.md)
- [Fail Parent](https://docs.bullmq.io/guide/flows/fail-parent.md): Make parents fail is any of its children fails
- [Continue Parent](https://docs.bullmq.io/guide/flows/continue-parent.md): Process parent if any children fails.
- [Remove Dependency](https://docs.bullmq.io/guide/flows/remove-dependency.md)
- [Ignore Dependency](https://docs.bullmq.io/guide/flows/ignore-dependency.md)
- [Remove Child Dependency](https://docs.bullmq.io/guide/flows/remove-child-dependency.md)
- [Metrics](https://docs.bullmq.io/guide/metrics.md): Built-in Metrics for your queues.
- [Prometheus](https://docs.bullmq.io/guide/metrics/prometheus.md): How to use the built-in prometheus exporter
- [Rate limiting](https://docs.bullmq.io/guide/rate-limiting.md)
- [Parallelism and Concurrency](https://docs.bullmq.io/guide/parallelism-and-concurrency.md)
- [Retrying failing jobs](https://docs.bullmq.io/guide/retrying-failing-jobs.md)
- [Returning job data](https://docs.bullmq.io/guide/returning-job-data.md)
- [Events](https://docs.bullmq.io/guide/events.md)
- [Create Custom Events](https://docs.bullmq.io/guide/events/create-custom-events.md)
- [Telemetry](https://docs.bullmq.io/guide/telemetry.md): Enabling Telemetry for your BullMQ based applications
- [Getting started](https://docs.bullmq.io/guide/telemetry/getting-started.md)
- [Traces](https://docs.bullmq.io/guide/telemetry/traces.md)
- [Metrics](https://docs.bullmq.io/guide/telemetry/metrics.md)
- [Running Jaeger](https://docs.bullmq.io/guide/telemetry/running-jaeger.md)
- [Running a simple example](https://docs.bullmq.io/guide/telemetry/running-a-simple-example.md)
- [QueueScheduler](https://docs.bullmq.io/guide/queuescheduler.md)
- [Redis™ Compatibility](https://docs.bullmq.io/guide/redis-tm-compatibility.md)
- [Dragonfly](https://docs.bullmq.io/guide/redis-tm-compatibility/dragonfly.md)
- [Redis™ hosting](https://docs.bullmq.io/guide/redis-tm-hosting.md): For BullMQ you are going to need a proper Redis™ hosting solution. In this section we provide instructions on how to use some of the most popular ones.
- [AWS MemoryDB](https://docs.bullmq.io/guide/redis-tm-hosting/aws-memorydb.md)
- [AWS Elasticache](https://docs.bullmq.io/guide/redis-tm-hosting/aws-elasticache.md)
- [Architecture](https://docs.bullmq.io/guide/architecture.md): In this page we give an architecture overview on how BullMQ is implemented on top of Redis.
- [NestJs](https://docs.bullmq.io/guide/nestjs.md)
- [Producers](https://docs.bullmq.io/guide/nestjs/producers.md)
- [Queue Events Listeners](https://docs.bullmq.io/guide/nestjs/queue-events-listeners.md)
- [Going to production](https://docs.bullmq.io/guide/going-to-production.md)
- [Migrations](https://docs.bullmq.io/guide/migration-to-newer-versions.md): Tips and hints on how to migrate your current BullMQ version to a newer one.
- [Bull to BullMQ](https://docs.bullmq.io/guide/migration-to-newer-versions/bull-to-bullmq.md): Tips and hints on how to migrate from Bull package to BullMQ.
- [Troubleshooting](https://docs.bullmq.io/guide/troubleshooting.md)
- [Adding jobs in bulk across different queues](https://docs.bullmq.io/patterns/adding-bulks.md)
- [Deduplication](https://docs.bullmq.io/patterns/deduplication.md)
- [Manually processing jobs](https://docs.bullmq.io/patterns/manually-fetching-jobs.md)
- [Named Processor](https://docs.bullmq.io/patterns/named-processor.md)
- [Flows](https://docs.bullmq.io/patterns/flows.md)
- [Idempotent jobs](https://docs.bullmq.io/patterns/idempotent-jobs.md)
- [Throttle jobs](https://docs.bullmq.io/patterns/throttle-jobs.md)
- [Manual retrying](https://docs.bullmq.io/patterns/manual-retrying.md)
- [Process Step Jobs](https://docs.bullmq.io/patterns/process-step-jobs.md)
- [Failing fast when Redis is down](https://docs.bullmq.io/patterns/failing-fast-when-redis-is-down.md)
- [Stop retrying jobs](https://docs.bullmq.io/patterns/stop-retrying-jobs.md)
- [Timeout jobs](https://docs.bullmq.io/patterns/timeout-jobs.md)
- [Timeout for Sandboxed processors](https://docs.bullmq.io/patterns/timeout-for-sandboxed-processors.md): A pattern for applying time-to-live to sandboxed processors.
- [Redis Cluster](https://docs.bullmq.io/patterns/redis-cluster.md): Important considerations when using Redis™ Cluster mode.
- [Introduction](https://docs.bullmq.io/bullmq-pro/introduction.md): The commercial supported version of BullMQ
- [Install](https://docs.bullmq.io/bullmq-pro/install.md)
- [Observables](https://docs.bullmq.io/bullmq-pro/observables.md)
- [Cancelation](https://docs.bullmq.io/bullmq-pro/observables/cancelation.md)
- [Groups](https://docs.bullmq.io/bullmq-pro/groups.md)
- [Getters](https://docs.bullmq.io/bullmq-pro/groups/getters.md)
- [Rate limiting](https://docs.bullmq.io/bullmq-pro/groups/rate-limiting.md)
- [Local group rate limit](https://docs.bullmq.io/bullmq-pro/groups/local-group-rate-limit.md): How to rate-limit each group with a different limit per group.
- [Concurrency](https://docs.bullmq.io/bullmq-pro/groups/concurrency.md)
- [Local group concurrency](https://docs.bullmq.io/bullmq-pro/groups/local-group-concurrency.md)
- [Max group size](https://docs.bullmq.io/bullmq-pro/groups/max-group-size.md)
- [Pausing groups](https://docs.bullmq.io/bullmq-pro/groups/pausing-groups.md)
- [Prioritized intra-groups](https://docs.bullmq.io/bullmq-pro/groups/prioritized.md)
- [Sandboxes for groups](https://docs.bullmq.io/bullmq-pro/groups/sandboxes-for-groups.md)
- [Telemetry](https://docs.bullmq.io/bullmq-pro/telemetry.md)
- [Batches](https://docs.bullmq.io/bullmq-pro/batches.md): Processing jobs in batches
- [NestJs](https://docs.bullmq.io/bullmq-pro/nestjs.md)
- [Producers](https://docs.bullmq.io/bullmq-pro/nestjs/producers.md)
- [Queue Events Listeners](https://docs.bullmq.io/bullmq-pro/nestjs/queue-events-listeners.md)
- [Changelog](https://docs.bullmq.io/bullmq-pro/nestjs/changelog.md)
- [Changelogs](https://docs.bullmq.io/bullmq-pro/changelog.md)
- [v6](https://docs.bullmq.io/bullmq-pro/changelog/changelog-v6.md)
- [v5](https://docs.bullmq.io/bullmq-pro/changelog/changelog-v5.md)
- [v4](https://docs.bullmq.io/bullmq-pro/changelog/changelog-v4.md)
- [v3](https://docs.bullmq.io/bullmq-pro/changelog/changelog-v3.md)
- [v2](https://docs.bullmq.io/bullmq-pro/changelog/changelog-v2.md)
- [v1](https://docs.bullmq.io/bullmq-pro/changelog/changelog-v1.md)
- [New Releases](https://docs.bullmq.io/bullmq-pro/new-releases.md)
- [Support](https://docs.bullmq.io/bullmq-pro/support.md): Commercial support
- [Introduction](https://docs.bullmq.io/bull/introduction.md)
- [Install](https://docs.bullmq.io/bull/install.md)
- [Quick Guide](https://docs.bullmq.io/bull/quick-guide.md)
- [Important Notes](https://docs.bullmq.io/bull/important-notes.md)
- [Patterns](https://docs.bullmq.io/bull/patterns.md)
- [Persistent connections](https://docs.bullmq.io/bull/patterns/persistent-connections.md)
- [Message queue](https://docs.bullmq.io/bull/patterns/message-queue.md)
- [Returning Job Completions](https://docs.bullmq.io/bull/patterns/returning-job-completions.md)
- [Reusing Redis Connections](https://docs.bullmq.io/bull/patterns/reusing-redis-connections.md)
- [Redis cluster](https://docs.bullmq.io/bull/patterns/redis-cluster.md)
- [Custom backoff strategy](https://docs.bullmq.io/bull/patterns/custom-backoff-strategy.md)
- [Debugging](https://docs.bullmq.io/bull/patterns/debugging.md)
- [Manually fetching jobs](https://docs.bullmq.io/bull/patterns/manually-fetching-jobs.md)
- [Introduction](https://docs.bullmq.io/python/introduction.md): BullMQ is now also available as an experimental python package.
- [Changelogs](https://docs.bullmq.io/python/changelog.md)
- [v1](https://docs.bullmq.io/python/changelog/changelog-v1.md)
- [v0](https://docs.bullmq.io/python/changelog/changelog-v0.md)
- [Introduction](https://docs.bullmq.io/rust/introduction.md): BullMQ is available as a native Rust crate with full async/await support.
- [Changelogs](https://docs.bullmq.io/rust/changelog.md)
- [Introduction](https://docs.bullmq.io/elixir/introduction.md): BullMQ for Elixir - Full-featured job queue with OTP design.
- [Changelogs](https://docs.bullmq.io/elixir/changelog.md)
- [Introduction](https://docs.bullmq.io/php/introduction.md): BullMQ PHP client for adding jobs to queues.
- [Changelogs](https://docs.bullmq.io/php/changelog.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://docs.bullmq.io/readme.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
