Skip to main content

Celery Flower

Project description

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.

Download files

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

Source Distribution

flower-2.0.1.tar.gz (3.2 MB view hashes)

Uploaded Source

Built Distribution

flower-2.0.1-py2.py3-none-any.whl (383.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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