RQ (Redis Queue)
RQ (Redis Queue) is an open-source Python library for sending jobs to background worker processes.
What RQ (Redis Queue) is
RQ (Redis Queue) is an open-source Python library for sending jobs to background worker processes. It runs Python function calls asynchronously and requires Redis 5 or later, or Valkey 7.2 or later. Job features include scheduled and repeating work, retries, bulk enqueueing, groups, dependencies, unique jobs, and concurrency rate limits; unique jobs cannot be combined with dependencies. Failed jobs are kept with exception details, and RQ supports retries and custom exception handlers. The `rq info` console command provides monitoring, while the separately distributed RQ Dashboard offers a web frontend. Documentation describes Django use, including through django-rq, plus patterns for Heroku, Sentry, Supervisor, and systemd. RQ is self-hosted and licensed under BSD. Its default pickle serializer is intended only for trusted Redis instances; JSON is an alternative. Workers need a system implementing `fork()`, so Windows use requires Windows Subsystem for Linux and a bash shell. The worker must be able to import job functions, and producers and workers must share source code.
Good
- Supports scheduled and repeating jobs.
- Retries failed jobs and supports custom exception handlers.
- Offers job groups, dependencies, and bulk enqueueing.
- Provides `rq info` and a separate web dashboard.
- BSD-licensed and self-hosted.
Watch out
- Requires Redis 5+ or Valkey 7.2+.
- Workers require a system implementing `fork()`.
- Windows workers require WSL and bash.
- Pickle serialization is intended only for trusted Redis instances.
Who it suits
RQ suits Python developers who want to queue background work using Redis or Valkey and run their own workers. It may fit teams that need scheduling, retries, job dependencies, and Django support.
Verdict
RQ provides a focused Python job queue with scheduling, retries, and several workflow options. Check the backend, worker-platform, and serialization requirements before adopting it.
Plans and prices
From RQ (Redis Queue)'s own pricing page, checked 8 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| RQ (Redis Queue) | Free | Open source · BSD license · Requires Redis >= 5 or Valkey >= 7.2 |
The facts
Each one read from RQ (Redis Queue)'s own pages, with the date it was checked.
What it does
- Backend
- RQ requires Redis version 5 or later, or Valkey version 7.2 or later.checked 7 Oct 2026
- Failure handling
- Failed jobs are stored in the FailedJobRegistry with exception information, and RQ supports retries and custom exception handlers.checked 7 Oct 2026
- Framework integration
- The documentation describes using RQ with Django, including through the django-rq package.checked 7 Oct 2026
- Integrations
- The project documents usage patterns for Heroku, Django, Sentry, Supervisor, and systemd.checked 8 Oct 2026
- Job code requirements
- The worker must be able to import the job function, and the worker and job producer must share the same source code.checked 8 Oct 2026
- Job execution
- RQ runs Python function calls asynchronously in background worker processes.checked 7 Oct 2026
- Job workflows
- RQ supports job dependencies, callbacks, bulk enqueueing, and grouping jobs under one ID.checked 8 Oct 2026
- License and maintainer
- RQ is open source under the BSD license and is maintained by Stamps, described as an Indonesian CRM company.checked 7 Oct 2026
- Maintainer
- RQ is maintained by Stamps, described on the project site as an Indonesian CRM company.checked 8 Oct 2026
- Monitoring
- RQ provides queue monitoring and can send webhooks when jobs finish or fail.checked 8 Oct 2026
- Operating system limit
- RQ workers require a system that implements `fork()`; the documentation says Windows workers require Windows Subsystem for Linux and a bash shell.checked 7 Oct 2026
- Protocol limit
- RQ relies on pickle serialization and is a Python-only system rather than using a portable protocol.checked 7 Oct 2026
- Purpose
- RQ is a Python library for queueing jobs and processing them in the background with workers.checked 8 Oct 2026
- Queue features
- RQ supports bulk enqueueing, job groups, dependencies, unique jobs, and concurrency rate limits.checked 7 Oct 2026
- Scheduling and retries
- RQ supports scheduling jobs for later, repeating jobs, and retrying failed jobs.checked 8 Oct 2026
- Security
- RQ warns that its default pickle serializer is not secure and advises using it only with trusted Redis instances; JSON is an alternative serializer.checked 7 Oct 2026
- Security and license
- RQ is open sourced under the BSD license.checked 8 Oct 2026
- Serialization limit
- RQ uses pickle to serialize jobs, making it a Python-only system without a portable protocol.checked 8 Oct 2026
- Storage
- RQ is backed by Redis or Valkey and requires Redis >= 5 or Valkey >= 7.2.checked 8 Oct 2026
- Support
- The project directs users to its Discord for help and discussion about contributions and the project's future.checked 8 Oct 2026
- Support community
- The project links to an RQ Discord community chat.checked 7 Oct 2026
- Uniqueness and rate limits
- RQ supports unique jobs and concurrency rate limits; unique jobs are not supported with job dependencies.checked 8 Oct 2026
The company
- Headquarters
- Jakarta, Indonesiachecked 28 Sep 2026
Where it runs
- Worker platform limit
- Workers require systems that implement fork(); Windows requires Windows Subsystem for Linux and a bash shell.checked 8 Oct 2026
Alternatives to RQ (Redis Queue)
- 1

Inngest
Free planOpen sourceWebAPILinuxmacOS8.3From $99 a month - 2
Hangfire
Free planOpen sourceWebAPILinuxSelf-hosted8.0From $500 a year - 3
Graphile Worker
Free planOpen sourceAPILinuxmacOSSelf-hosted7.9From $25 a month - 4
Gearman
Free planOpen sourceAPILinuxmacOSSelf-hosted7.3Free plan - 5
Google Tasks
Free planAndroidiOSWeb7.0Free plan - 6
IronWorker
Free planWebAPILinuxSelf-hosted6.9From $169 a month
