Skip to main content

Celery monitoring and management for Django admin

Project description

django-celeryx

PyPI version Python versions CI

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_celeryx-0.1.0a1.tar.gz (40.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_celeryx-0.1.0a1-py3-none-any.whl (55.7 kB view details)

Uploaded Python 3

File details

Details for the file django_celeryx-0.1.0a1.tar.gz.

File metadata

  • Download URL: django_celeryx-0.1.0a1.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

Hashes for django_celeryx-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 2be79622797031635283da39cabc760eabf79294f8fab939d406e7f0b4f60cce
MD5 a4283b1f200e77154cedf8b70859ad85
BLAKE2b-256 e2a6e40e81afbf8280778187ae35e48dda00662d5f1fff626f9ececc6655885e

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_celeryx-0.1.0a1.tar.gz:

Publisher: publish.yml on oliverhaas/django-celeryx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_celeryx-0.1.0a1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_celeryx-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 03f256e350a6fe84496930b5add2f1e1b5b265536e3eb2d6b63bc78e2eecd851
MD5 198a1d8cb71d94875aa10fe9e120d180
BLAKE2b-256 35a3bc43c0da7be27f87977086679b043568f9a4f471e37eb03893a88def7cbe

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_celeryx-0.1.0a1-py3-none-any.whl:

Publisher: publish.yml on oliverhaas/django-celeryx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page