RQ (Redis Queue)

Simple Python job queue backed by Redis with minimal configuration — enqueue functions and process them with workers.

Evaluated Mar 06, 2026 (0d ago) vcurrent
Homepage ↗ Repo ↗ Developer Tools python redis task-queue workers simple
⚙ Agent Friendliness
67
/ 100
Can an agent use this?
🔒 Security
28
/ 100
Is it safe for agents?
⚡ Reliability
61
/ 100
Does it work consistently?

Score Breakdown

⚙ Agent Friendliness

MCP Quality
--
Documentation
85
Error Messages
80
Auth Simplicity
100
Rate Limits
100

🔒 Security

TLS Enforcement
0
Auth Strength
0
Scope Granularity
0
Dep. Hygiene
80
Secret Handling
78

Pickle serialization used for job arguments — only enqueue trusted data to prevent RCE via deserialization.

⚡ Reliability

Uptime/SLA
0
Version Stability
83
Breaking Changes
82
Error Recovery
80
AF Security Reliability

Best When

Best for simple Python background job processing when Celery feels over-engineered and you already use Redis.

Avoid When

Avoid when you need complex retry strategies, workflow DAGs, or non-Redis broker support.

Use Cases

  • Quickly add async background processing to Flask/Django apps without Celery complexity
  • Offload slow API calls from request handlers to Redis-backed worker processes
  • Build simple fanout patterns by enqueuing multiple functions on different queues
  • Process agent-generated tasks with priority queues (high/default/low)
  • Implement delayed job execution with enqueue_in() for scheduled future work

Not For

  • Complex workflow DAGs with dependencies between tasks
  • High-throughput task processing where broker overhead matters
  • Non-Redis brokers — RQ only supports Redis as backend

Interface

REST API
No
GraphQL
No
gRPC
No
MCP Server
No
SDK
Yes
Webhooks
No

Authentication

Methods: none
OAuth: No Scopes: No

Library — auth via Redis connection URL (redis://:password@host:port/db).

Pricing

Model: open_source
Free tier: Yes
Requires CC: No

BSD licensed. Requires a Redis instance.

Agent Metadata

Pagination
none
Idempotent
Partial
Retry Guidance
Documented

Known Gotchas

  • Functions must be importable at worker startup — lambdas and closures cannot be enqueued
  • Job results stored in Redis expire after 500 seconds by default — increase result_ttl for long-lived result access
  • Burst mode workers (--burst) exit after queue is empty — not suitable for long-running daemon workers without restart loop
  • RQ does not support task chaining natively — use callbacks or separate queues for dependent task patterns
  • Failed jobs require manual requeueing via rq requeue or job.requeue() — no automatic retry without rq-retry extension

Alternatives

Full Evaluation Report

Detailed scoring breakdown, competitive positioning, security analysis, and improvement recommendations for RQ (Redis Queue).

$99

Scores are editorial opinions as of 2026-03-06.

5215
Packages Evaluated
26151
Need Evaluation
173
Need Re-evaluation
Community Powered