Skip to content
SPECIFICTION
Get listed

Procrastinate vs RQ (Redis Queue)

Procrastinate

procrastinate.readthedocs.io

RQ (Redis Queue)

python-rq.org

Side by side

FigureProcrastinateRQ (Redis Queue)
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYes—
macOSYes—
LinuxYesYes
APIYesYes
Self-hostedYesYes
Plans published11
Spec score · Task Queue Software7.7 (#22)8.2 (#9)
MonitoringThe command-line interface provides health checks, and its interactive shell can inspect and administer jobs, tasks, queues, and locks.RQ provides queue monitoring and can send webhooks when jobs finish or fail.
PurposeProcrastinate is an open-source distributed task processing library for Python that uses PostgreSQL to store task definitions, manage locks, and dispatch tasks.RQ is a Python library for queueing jobs and processing them in the background with workers.

Plans

Procrastinate

  • ProcrastinateFree

Procrastinate pricing →

RQ (Redis Queue)

  • RQ (Redis Queue)Free

RQ (Redis Queue) pricing →

In their own words

Procrastinate

Procrastinate has no write-up on Specifiction yet; its figures are above.

Visit procrastinate.readthedocs.io

RQ (Redis Queue)

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.

Visit python-rq.org