django-tasks-db
An ORM-based backend for Django Tasks
What it is and what it does
django-tasks-db is a backend for Django's built-in task system that stores task definitions and results directly in your application database instead of requiring a separate message broker or task queue service. It integrates with Django's ORM and provides a management command to run a worker process that executes queued tasks. This approach eliminates the operational complexity of running Redis, RabbitMQ, or Celery, making it suitable for smaller deployments or applications where database-backed task storage is acceptable.
The package supports customizable task ID generation, automatic task result pruning via management command, and development-mode auto-reload. It's actively maintained and supports Django 4.2 through 6.0 on Python 3.10+. Since tasks live in your database, you get built-in persistence and can query task status directly through Django's ORM, but you trade off the scalability and decoupling that external task queues provide.
Use it for:
- Run background jobs in Django without deploying Redis or RabbitMQ.
- Store and audit all task executions in your application database for compliance or debugging.
- Prototype or develop task-based features before committing to a separate queue infrastructure.
- Execute periodic or triggered work within a single-server or small-scale deployment.
- Query task history and status directly via Django ORM without a separate monitoring tool.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Django Tasks backend that stores and executes asynchronous tasks in your database using Django's ORM, with a management command to run a worker process.
Yes, if you want a lightweight, database-backed task queue for Django without external infrastructure. The active maintenance, low install friction, and permissive license make it a solid choice for small to medium projects. Not recommended if you need high-throughput task processing, distributed workers across multiple machines, or the decoupling that external queues provide.
Install
django-tasks-db on PyPI
pip
pip install django-tasks-dbuv
uv add django-tasks-dbpoetry
poetry add django-tasks-dbInstalling django-tasks-db
Before you install
Low install friction with a pure-Python wheel. Actively maintained with recent commits and a stable release. Requires Django, typing_extensions, django-stubs-ext, and django-tasks as runtime dependencies.
License in practice
BSD-3-Clause is a permissive license that allows commercial use, modification, and distribution with minimal restrictions—suitable for most projects.
Quickstart
pip install django-tasks-db
# In settings.py
INSTALLED_APPS = ["django_tasks_db"]
TASKS = {"default": {"BACKEND": "django_tasks_db.DatabaseBackend", "QUEUES": ["default"]}}
# Run worker
./manage.py db_worker
Requires Python 3.10 or later and Django 4.2+; tasks are stored in the database so schema migrations are needed after installation.
Verify before relying
- Whether the database backend scales adequately for high-volume task workloads compared to external task queues.
- Performance characteristics when pruning large accumulated task result sets.
- Support for distributed workers across multiple processes or machines.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — Django, typing_extensions, django-stubs-ext, django-tasks |
| Maintenance | actively maintained — 189 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 155,069/month — #10,833 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: django_tasks_db-0.12.0-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
django-tasksProvides a backport of Django's built-in Tasks…
permissive · top 5,000 on PyPI
DjangoDjango is a high-level Python web framework for…
permissive · top 1,000 on PyPI
django-celery-beatStores Celery periodic task schedules in a…
permissive · top 5,000 on PyPI
django-celery-resultsStores Celery task results in a Django database…
permissive · top 5,000 on PyPI
sqlalchemy-celery-beatProvides a SQLAlchemy-backed scheduler for…
permissive · top 15,000 on PyPI
django-clickhouse-backendA Django database backend that lets you use…
permissive · top 15,000 on PyPI
django-q2Django Q2 is a multiprocessing distributed task…
permissive · top 15,000 on PyPI
django-apschedulerAdds persistent job scheduling to Django…
permissive · top 15,000 on PyPI
django-dramatiqIntegrates Dramatiq, a distributed task queue,…
unclear · top 15,000 on PyPI
django-rqDjango-RQ integrates RQ (Redis Queue) with…
permissive · top 5,000 on PyPI