Skip to content
SPECIFICTION
Get listed

RQ (Redis Queue)

python-rq.org

Free plan LinuxAPISelf-hosted
Visit python-rq.org
Spec score 8.2 #9 of 37 in Task Queue Software

What it is

RQ (Redis Queue) is a Python library for placing jobs in queues and running them asynchronously in background worker processes. It is self-hosted, open source under the BSD license, and free. It requires Redis 5 or later, or Valkey 7.2 or later. RQ supports scheduled and repeating jobs, retries, bulk enqueueing, job groups, dependencies, unique jobs, and concurrency rate limits. Unique jobs cannot be combined with dependencies. Failed jobs are recorded with exception information, and custom exception handlers are supported. For monitoring, there is an `rq info` console command; RQ Dashboard is a separate web-based frontend. Documentation covers Django, including django-rq, as well as usage with Heroku, Sentry, Supervisor, and systemd. RQ serializes jobs with pickle by default, which the project warns is safe only with trusted Redis instances; JSON is an alternative. Workers need a system that supports `fork()`, so Windows requires Windows Subsystem for Linux and a bash shell. Workers must also be able to import job functions, and producers and workers must share source code.

Spec sheet

Purpose
RQ is a Python library for queueing jobs and processing them in the background with workers.Read 8 Oct 2026 · python-rq.org
Integrations
The project documents usage patterns for Heroku, Django, Sentry, Supervisor, and systemd.Read 8 Oct 2026 · python-rq.org
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.Read 7 Oct 2026 · python-rq.org
Support
The project directs users to its Discord for help and discussion about contributions and the project's future.Read 8 Oct 2026 · python-rq.org
Headquarters
Jakarta, IndonesiaRead 28 Sep 2026 · python-rq.org
Backend
RQ requires Redis version 5 or later, or Valkey version 7.2 or later.Read 7 Oct 2026 · python-rq.org
Failure handling
Failed jobs are stored in the FailedJobRegistry with exception information, and RQ supports retries and custom exception handlers.Read 7 Oct 2026 · python-rq.org
Framework integration
The documentation describes using RQ with Django, including through the django-rq package.Read 7 Oct 2026 · python-rq.org
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.Read 8 Oct 2026 · python-rq.org
Job execution
RQ runs Python function calls asynchronously in background worker processes.Read 7 Oct 2026 · python-rq.org
Job workflows
RQ supports job dependencies, callbacks, bulk enqueueing, and grouping jobs under one ID.Read 8 Oct 2026 · python-rq.org
License and maintainer
RQ is open source under the BSD license and is maintained by Stamps, described as an Indonesian CRM company.Read 7 Oct 2026 · python-rq.org
Maintainer
RQ is maintained by Stamps, described on the project site as an Indonesian CRM company.Read 8 Oct 2026 · python-rq.org
Monitoring
RQ provides queue monitoring and can send webhooks when jobs finish or fail.Read 8 Oct 2026 · python-rq.org
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.Read 7 Oct 2026 · python-rq.org
Protocol limit
RQ relies on pickle serialization and is a Python-only system rather than using a portable protocol.Read 7 Oct 2026 · python-rq.org
Queue features
RQ supports bulk enqueueing, job groups, dependencies, unique jobs, and concurrency rate limits.Read 7 Oct 2026 · python-rq.org
Scheduling and retries
RQ supports scheduling jobs for later, repeating jobs, and retrying failed jobs.Read 8 Oct 2026 · python-rq.org
Security and license
RQ is open sourced under the BSD license.Read 8 Oct 2026 · python-rq.org
Serialization limit
RQ uses pickle to serialize jobs, making it a Python-only system without a portable protocol.Read 8 Oct 2026 · python-rq.org
Storage
RQ is backed by Redis or Valkey and requires Redis >= 5 or Valkey >= 7.2.Read 8 Oct 2026 · python-rq.org
Support community
The project links to an RQ Discord community chat.Read 7 Oct 2026 · python-rq.org
Uniqueness and rate limits
RQ supports unique jobs and concurrency rate limits; unique jobs are not supported with job dependencies.Read 8 Oct 2026 · python-rq.org
Worker platform limit
Workers require systems that implement fork(); Windows requires Windows Subsystem for Linux and a bash shell.Read 8 Oct 2026 · python-rq.org

Plans and prices

RQ (Redis Queue) Free Open source · BSD license · Requires Redis >= 5 or Valkey >= 7.2 Read 8 Oct 2026 · python-rq.org

Every RQ (Redis Queue) plan and price →

Strong points and limits

Strong points

  • Free and open source under the BSD license
  • Supports scheduled, repeating, and retryable jobs
  • Offers dependencies, groups, and concurrency rate limits
  • Monitoring command and separate web dashboard available

Limits

  • Requires Redis 5+ or Valkey 7.2+
  • Workers require `fork()` support
  • Windows workers require WSL and bash
  • Pickle serialization is Python-only and needs trusted Redis

Who it suits

RQ suits Python teams that want to run background jobs using Redis or Valkey and need scheduling, retries, or grouped workflows. It is a fit for self-hosted deployments where workers can run on a `fork()`-supporting system and share code with job producers.

Verdict

RQ provides a focused background-job queue for Python applications, with scheduling, retries, and several workflow controls. Its Redis or Valkey requirement, pickle-based serialization, and worker platform constraints are important deployment considerations.

Where Specifiction places it

Alternatives to RQ (Redis Queue)All alternatives →