Celery Queue Manager
A powerful, interactive CLI tool to inspect, monitor, and clean up Celery queues backed by Redis.
Designed for developers and DevOps engineers who need to "deep scan" Redis databases, inspect task payloads, and selectively delete tasks without direct access to workers or application code.
✨ Features
- Deep Scan: Automatically scans all Redis databases (0-15) to discover hidden Celery queues.
- Payload Inspection: Decode and view the JSON content (args, task names, IDs) of queued items.
- Selective Delete: Remove specific tasks based on wildcards (e.g., delete only
*.send_emailtasks). - Total Purge: Quickly empty an entire queue to reset the state.
- Safe: Includes confirmation prompts before deleting any data.
- Zero Dependencies: (On the server side) - Just requires Python and access to Redis.
📦 Installation
You can install this tool directly via pip.
Option 1: Install from Git (Recommended for Teams)
If this repository is hosted on GitHub/GitLab:
pip install git+https://github.com/mbroekman/celery-queue-manager.git
Option 2: Install Locally (For Development)
Clone this folder and run:
pip install .
Option 3: Install from PyPI (If published)
pip install celery-queue-manager
⚙️ Configuration
By default, the tool connects to redis://localhost:6379.
To connect to a different Redis server (e.g., in Docker or Production), set the CELERY_REDIS_URL environment variable before running the tool.
Linux/Mac:
export CELERY_REDIS_URL="redis://user:password@192.168.1.50:6379/0"
Windows (PowerShell):
$env:CELERY_REDIS_URL="redis://user:password@192.168.1.50:6379/0"
🚀 Usage
After installation, the command celery-manager is available globally in your terminal.
celery-manager
Interactive Menu
The tool will scan your Redis instance and present a menu:
--- Found Queues ---
1. [DB 0] celery (Items: 42)
2. [DB 1] high_priority (Items: 1500)
Options:
Type the queue NUMBER to select it.
Type 'q' to quit.
Actions
Once a queue is selected, you can:
- INSPECT CONTENT: Peeks at the top 5 tasks (shows Task Name, ID, and Args).
- PURGE ENTIRE QUEUE: Removes ALL items from the list.
- DELETE SPECIFIC TASKS: Prompts for a wildcard pattern (e.g.,
*invoice*) and removes only matching tasks.
🛠 Development
To build this package yourself (e.g., to create a .whl file):
- Install build tools:
pip install build
- Build the package:
python -m build
- The artifacts will appear in the
dist/directory.
👨💻 Creator
Created by: [Jouw Naam]
- Email: m.broekman@ises-softpack.nl
- GitHub: https://github.com/mbroekman
📄 License
This project is licensed under the MIT License.
Release files for celery-queue-manager 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| celery_queue_manager-1.0.3.tar.gz | 5.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| celery_queue_manager-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.7 kB
Release files / celery_queue_manager-1.0.3.tar.gz
| Download URL | celery_queue_manager-1.0.3.tar.gz |
|---|---|
| Size | 5.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
996ea1b347db546031c445c941fa938b61b359e8342e5fc1b17eb2290fb05c74
|
|
BLAKE2b-256 checksum How to use checksums |
5311284ed92437aff6ef5a17f2b507a20ae09bfb49fbf4e6955602e27e6cb90d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.4
|
Release files / celery_queue_manager-1.0.3-py3-none-any.whl
| Download URL | celery_queue_manager-1.0.3-py3-none-any.whl |
|---|---|
| Size | 5.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1692959e4ab6e09a32079e51e6ec83126e2bbe3fb9b73207f6adeff024af74e3
|
|
BLAKE2b-256 checksum How to use checksums |
04afe50d5d800a9e73b4ab46e149ef490e1f448bbf9b490d48c8fc8ded8cb201
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.4
|