Backend Reference

django-prodserver supports multiple production-ready server backends for WSGI/ASGI applications and background workers. Each backend is configured using the PRODUCTION_PROCESSES setting in your Django settings file.

Available Backends

Web Servers

Backend

Type

Best For

Gunicorn

WSGI

Traditional Django, Linux production

Waitress

WSGI

Windows, pure Python

Granian WSGI

WSGI

High performance (Rust)

Uvicorn ASGI

ASGI

Async Django, WebSockets

Uvicorn WSGI

WSGI

Traditional with Uvicorn perf

Granian ASGI

ASGI

High-perf async (Rust)

Background Workers

Worker backends live under django_prodserver.backends.workers and are started with the worker management command (python manage.py worker <process_name>).

Backend

Best For

Celery Worker

Distributed tasks, complex workflows

Celery Beat

Scheduled/periodic tasks

Celery Flower

Monitoring/admin web UI for Celery

Django Tasks

Simple tasks, no dependencies

Django-Q2

ORM-backed, admin interface

Web servers are started with the server command (python manage.py server <process_name>).

Quick Comparison

Backend

Async

Windows

External Deps

Gunicorn

No

Limited

None

Waitress

No

Yes

None

Granian

Both

Yes

None

Uvicorn

Yes

Yes

None

Celery

Yes

Yes

Redis/RabbitMQ

Django Tasks

Yes

Yes

None

Django-Q2

Yes

Yes

None

ARGS Translation

All backends convert the ARGS dict to CLI arguments:

"ARGS": {"bind": "0.0.0.0:8000", "workers": "4"}
# becomes: --bind=0.0.0.0:8000 --workers=4

See individual backend pages for specific ARGS options.