flower 2.0.1


pip install flower

  Latest version

Released: Aug 13, 2023

Project Links

Meta
Author: Mher Movsisyan
Requires Python: >=3.7

Classifiers

Development Status
  • 4 - Beta

Intended Audience
  • Developers

License
  • OSI Approved :: BSD License

Topic
  • System :: Distributed Computing

Programming Language
  • Python
  • Python :: 3
  • Python :: 3 :: Only
  • Python :: 3.7
  • Python :: 3.8
  • Python :: 3.9
  • Python :: 3.10
  • Python :: 3.11
  • Python :: Implementation :: CPython
  • Python :: Implementation :: PyPy

Operating System
  • OS Independent
PyPI - Downloads Docker Pulls https://github.com/mher/flower/workflows/Build/badge.svg https://img.shields.io/pypi/v/flower.svg

Flower is an open-source web application for monitoring and managing Celery clusters. It provides real-time information about the status of Celery workers and tasks.

Features

  • Real-time monitoring using Celery Events
    • View task progress and history

    • View task details (arguments, start time, runtime, and more)

  • 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

    • Revoke or terminate tasks

  • Broker monitoring
    • View statistics for all Celery queues

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

  • Prometheus integration

  • API

Installation

Installing flower with pip is simple

$ pip install flower

The development version can be installed from Github

$ pip install https://github.com/mher/flower/zipball/master#egg=flower

Usage

To run Flower, you need to provide the broker URL

$ celery --broker=amqp://guest:guest@localhost:5672// flower

Or use the configuration of celery application

$ celery -A tasks.app flower

By default, flower runs on port 5555, which can be modified with the port option

$ celery -A tasks.app flower --port=5001

You can also run Flower using the docker image

$ docker run -v examples:/data -p 5555:5555 mher/flower celery --app=tasks.app flower

In this example, Flower is using the tasks.app defined in the examples/tasks.py file

API

Flower API enables to manage the cluster via HTTP REST API.

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

For more info checkout API Reference

Documentation

Documentation is available at Read the Docs

License

Flower is licensed under BSD 3-Clause License. See the License file for the full license text.

Wheel compatibility matrix

Platform Python 2 Python 3
any

Files in release

Extras: None
Dependencies:
celery (>=5.0.5)
tornado (<7.0.0,>=5.0.0)
prometheus-client (>=0.8.0)
humanize
pytz