Need help with flower?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

5.0K Stars 878 Forks Other 1.3K Commits 64 Opened issues


Real-time monitor and web admin for Celery distributed task queue

Services available


Need anything else?

Contributors list


.. image:: :target:

.. image:: :target:

.. image:: :target:

Flower is a web based tool for monitoring and administrating Celery clusters.


  • 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

  • Basic Auth, Google, Github, Gitlab and Okta OAuth

  • Prometheus integration



_ is simple ::
$ pip install flower

Development version can be installed with ::

$ pip install


Important Please note that from version 1.0.1 Flower uses Celery 5 and has to be invoked in the same style as celery commands do.

The key takeaway here is that the Celery app's arguments have to be specified after the

command and Flower's arguments have to be specified after the

This is the template to follow::

celery [celery args] flower [flower args]

Core Celery args that you may want to set::

-A, --app
-b, --broker

More info on available

Celery command args 

For Flower command args

see here 

Usage Examples

Launch the Flower server at specified port other than default 5555 (open the UI at http://localhost:5566): ::

$ celery flower --port=5566

Specify Celery application path with address and port for Flower: ::

$ celery -A proj flower --address= --port=5566

Launch using docker: ::

$ docker run -p 5555:5555 mher/flower

Launch with unix socket file: ::

$ celery flower --unix-socket=/tmp/flower.sock

Broker URL and other configuration options can be passed through the standard Celery options (notice that they are after Celery command and before Flower sub-command): ::

$ celery -A proj --broker=amqp://guest:[email protected]:5672// flower


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) {

For more info checkout

API Reference
_ and

.. _API Reference: .. _examples:


Documentation is available at

Read the Docs
_ and
IPython Notebook Viewer

.. _Read the Docs: .. _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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.