Celery monitoring and management for Django admin
Project description
django-celeryx
Celery monitoring and management for Django admin. Like Flower, but embedded in your Django admin with htmx for real-time updates.
Installation
pip install django-celeryx[celery]
Or with celery-asyncio:
pip install django-celeryx[celery-asyncio]
Quick Start
INSTALLED_APPS = [
# ...
"django_celeryx.admin",
]
That's it. Start your Django server and navigate to the admin to see your Celery tasks and workers.
Features
- Real-time task monitoring — Live task list with state, args, result, timing, auto-refreshing via htmx
- Worker management — View worker status, pool info, active queues, configuration
- Control actions — Revoke/terminate tasks, shutdown/restart workers, manage pools and queues
- Broker overview — Queue names, routing keys, consumer counts
- Django admin native — Looks and feels like standard Django admin, no separate service to run
- Database persistence — All state persisted to database (dedicated SQLite file by default, or any Django database)
- Registered tasks — Browse all registered task types, link to filtered task list
Task Monitoring
The task list shows all Celery tasks with color-coded states:
- PENDING (grey), RECEIVED (yellow), STARTED (blue), SUCCESS (green), FAILURE (red), RETRY (orange), REVOKED (purple)
Configurable columns via TASK_COLUMNS setting.
Worker Management
Worker detail view with tabbed interface (matching Flower):
- Pool — Pool type, concurrency, processes. Controls: grow/shrink, autoscale
- Queues — Active queues. Controls: add/cancel consumer
- Tasks — Processed counts, active/scheduled/reserved/revoked tasks
- Limits — Rate limits and timeouts
- Config — Full worker Celery configuration
- Stats — System resource usage, broker connection info
Control Actions
Full control parity with Flower:
- Revoke / terminate / abort tasks
- Shutdown / restart worker pool
- Grow / shrink pool, set autoscale
- Add / cancel queue consumer
- Set rate limits and time limits
Configuration
CELERYX = {
"MAX_TASK_COUNT": 100_000,
"MAX_TASK_AGE": 86400, # 24 hours
"AUTO_REFRESH_INTERVAL": 3,
"TASK_COLUMNS": ["name", "uuid", "state", "worker", "received", "started", "runtime"],
}
Unfold Theme
For django-unfold users:
INSTALLED_APPS = [
"unfold",
# ...
"django_celeryx.unfold", # instead of django_celeryx.admin
]
Documentation
Full documentation at oliverhaas.github.io/django-celeryx
Requirements
- Python 3.12+
- Django 5.2+
- Celery 5.4+ or celery-asyncio 6.0+
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_celeryx-0.1.0a2.tar.gz.
File metadata
- Download URL: django_celeryx-0.1.0a2.tar.gz
- Upload date:
- Size: 40.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9be4f047a6d4805b014a7acad8d4392c44eafc580b360eff26d557418760f21
|
|
| MD5 |
95610a2ade78e56e296cda1fe13059d7
|
|
| BLAKE2b-256 |
aae0346c244abc43598fd458b18721bb21e89df91d0b6fc6e3019e3dd49130d5
|
Provenance
The following attestation bundles were made for django_celeryx-0.1.0a2.tar.gz:
Publisher:
publish.yml on oliverhaas/django-celeryx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_celeryx-0.1.0a2.tar.gz -
Subject digest:
b9be4f047a6d4805b014a7acad8d4392c44eafc580b360eff26d557418760f21 - Sigstore transparency entry: 1243626862
- Sigstore integration time:
-
Permalink:
oliverhaas/django-celeryx@32134a3f11cb8b7c9df8e0d4ab7841a008935b44 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/oliverhaas
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@32134a3f11cb8b7c9df8e0d4ab7841a008935b44 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file django_celeryx-0.1.0a2-py3-none-any.whl.
File metadata
- Download URL: django_celeryx-0.1.0a2-py3-none-any.whl
- Upload date:
- Size: 55.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b137dbc54d0efbe3b43158f23468ed3169203ac08347761a673a5a2be68d28ac
|
|
| MD5 |
7289df0ef4cf7b61cefbad26f2b90102
|
|
| BLAKE2b-256 |
1577e51d3af8e224bf97ac8ca7dc74cb9d4e4ce457fc9b33e3791ef575396f0c
|
Provenance
The following attestation bundles were made for django_celeryx-0.1.0a2-py3-none-any.whl:
Publisher:
publish.yml on oliverhaas/django-celeryx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_celeryx-0.1.0a2-py3-none-any.whl -
Subject digest:
b137dbc54d0efbe3b43158f23468ed3169203ac08347761a673a5a2be68d28ac - Sigstore transparency entry: 1243626872
- Sigstore integration time:
-
Permalink:
oliverhaas/django-celeryx@32134a3f11cb8b7c9df8e0d4ab7841a008935b44 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/oliverhaas
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@32134a3f11cb8b7c9df8e0d4ab7841a008935b44 -
Trigger Event:
workflow_dispatch
-
Statement type: