Flower is a web based tool for monitoring and administrating Celery clusters.
The fork is no longer used. It's archived for historical purposes.
The fork was made so we can use our forked celery as a dependency here.
Currently SL apps use the official versions for celery and flower.
Real-time monitoring using Celery Events
- Task progress and history
- Ability to show task details (arguments, start time, runtime, and more)
- Graphs and statistics
Remote Control
- View worker status and statistics
- Shutdown and restart worker instances
- Control worker pool size and autoscale settings
- View and modify the queues a worker instance consumes from
- View currently running tasks
- View scheduled tasks (ETA/countdown)
- View reserved and revoked tasks
- Apply time and rate limits
- Configuration viewer
- Revoke or terminate tasks
Broker monitoring
- View statistics for all Celery queues
- Queue length graphs
HTTP API
Basic Auth, Google, Github, Gitlab and Okta OAuth
Prometheus integration
PyPI version:
$ pip install flower
Development version:
$ pip install https://github.com/mher/flower/zipball/master
Launch the server and open http://localhost:5555:
$ flower --port=5555
Launch from celery:
$ celery flower -A proj --address=127.0.0.1 --port=5555
Launch using docker:
$ docker run -p 5555:5555 mher/flower
Launch with unix socket file:
$ flower --unix-socket=/tmp/flower.sock
Broker URL and other configuration options can be passed through the standard Celery options:
$ celery flower -A proj --broker=amqp://guest:guest@localhost:5672//
Flower API enables to manage the cluster via REST API, call tasks and receive task events in real-time via WebSockets.
For example you can restart worker's pool by:
$ curl -X POST http://localhost:5555/api/worker/pool/restart/myworker
Or call a task by:
$ curl -X POST -d '{"args":[1,2]}' http://localhost:5555/api/task/async-apply/tasks.add
Or terminate executing task by:
$ curl -X POST -d 'terminate=True' http://localhost:5555/api/task/revoke/8a4da87b-e12b-4547-b89a-e92e4d1f8efd
Or receive task completion events in real-time:
var ws = new WebSocket("ws://localhost:5555/api/task/events/task-succeeded/"); ws.onmessage = function (event) { console.log(event.data); }
For more info checkout API Reference and examples.
Documentation is available at Read the Docs and IPython Notebook Viewer
Flower is licensed under BSD 3-Clause License. See the LICENSE file in the top distribution directory for the full license text.