django-rq
An app that provides django integration for RQ (Redis Queue)
What it is and what it does
Django-RQ is a Django app that wraps RQ (a Redis-based Python job queue) and exposes it through Django's configuration and management system. Instead of writing custom queue setup code, you define your queues in Django's settings.py and use simple utility functions like enqueue() and get_queue() to push tasks into the background. It also provides a @job decorator for marking functions as queueable tasks, a management command (rqworker) to run workers, and an admin interface for monitoring queues, jobs, and workers.
The package depends on Django, Redis, and RQ itself. It supports multiple queue configurations (standard Redis, Redis Sentinel, connection pooling) and allows you to customize worker, queue, and job classes. A new admin integration in version 4.0 adds a dashboard for queue statistics, job registry browsing, and optional Prometheus metrics export.
Use it for:
- Offload long-running tasks (file processing, API calls, reports) from web requests to background workers.
- Schedule jobs to run at specific times or with delays using RQ's built-in scheduler.
- Monitor queue health, job status, and worker activity through the Django admin dashboard.
- Run multiple priority queues (high, default, low) and assign workers to each for load balancing.
- Manage Redis connections efficiently across multiple queue definitions in a single Django app.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Django-RQ integrates RQ (Redis Queue) with Django, allowing you to configure and manage asynchronous job queues through Django settings and enqueue tasks for background processing.
Yes. Django-RQ is a straightforward, actively maintained solution for adding background job processing to Django projects. It has low install friction, no known vulnerabilities, a permissive MIT license, and a well-established user base. Choose it if you need Redis-backed async tasks with Django integration and prefer a simpler alternative to Celery.
Install
django-rq on PyPI
pip
pip install django-rquv
uv add django-rqpoetry
poetry add django-rqInstalling django-rq
Before you install
Low friction installation with a pure-Python wheel. Actively maintained with a recent release and 1951 repository stars. Requires Django 4.2+ and Python 3.10+.
License in practice
MIT license permits commercial and private use with minimal restrictions.
Quickstart
pip install django-rq
# In settings.py, add to INSTALLED_APPS:
INSTALLED_APPS = ['django_rq']
# Configure queues:
RQ_QUEUES = {'default': {'HOST': 'localhost', 'PORT': 6379, 'DB': 0}}
# In your code:
import django_rq
django_rq.enqueue(my_function, arg1, arg2)
Requires a running Redis server; Django 4.2+ and Python 3.10+ are required.
Verify before relying
- Whether the admin dashboard and Prometheus metrics integration are production-ready or experimental.
- Performance characteristics when handling high job volumes or large numbers of workers.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — django, redis, rq |
| Maintenance | actively maintained — 41 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,030,988/month — #4,469 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: django_rq-4.1.1-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
django-q2Django Q2 is a multiprocessing distributed task…
permissive · top 15,000 on PyPI
judoscaleJudoscale is a Python adapter that integrates…
permissive · top 15,000 on PyPI
rqRQ is a Python library for queueing jobs and…
permissive · top 5,000 on PyPI
rq-schedulerAdds job scheduling capabilities to RQ (Redis…
permissive · top 15,000 on PyPI
rq-dashboardA Flask-based web dashboard for monitoring RQ…
permissive · top 15,000 on PyPI
arqarq provides a job queue system for Python that…
permissive · top 5,000 on PyPI
saqSAQ is an async job queue framework that runs…
permissive · top 15,000 on PyPI
django-dramatiqIntegrates Dramatiq, a distributed task queue,…
unclear · top 15,000 on PyPI
django-apschedulerAdds persistent job scheduling to Django…
permissive · top 15,000 on PyPI
django-tasksProvides a backport of Django's built-in Tasks…
permissive · top 5,000 on PyPI