Skip to main content

Celery Flower

Project description

https://github.com/mher/flower/workflows/Build/badge.svg https://img.shields.io/pypi/v/flower.svg https://travis-ci.org/mher/flower.svg?branch=master

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

Features

  • 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

Installation

Installing flower with pip is simple

$ pip install flower

Development version can be installed with

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

Usage

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 celery command and Flower’s arguments have to be specified after the flower sub-command.

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
--result-backend

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=127.0.0.6 --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:guest@localhost:5672// flower

API

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

Documentation is available at Read the Docs and IPython Notebook Viewer

License

Flower is licensed under BSD 3-Clause License. See the LICENSE file in the top distribution directory for the full license text.

Project details


Download files

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

Source Distribution

flower-1.0.0.tar.gz (4.3 MB view details)

Uploaded Source

Built Distribution

flower-1.0.0-py2.py3-none-any.whl (457.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file flower-1.0.0.tar.gz.

File metadata

  • Download URL: flower-1.0.0.tar.gz
  • Upload date:
  • Size: 4.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1

File hashes

Hashes for flower-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2e17c4fb55c569508f3bfee7fe41f44b8362d30dbdf77b604a9d9f4740fe8cbd
MD5 bc2a0554785559e658f2f6bebfa7a79c
BLAKE2b-256 1bb4ef45dd2853076f5db118c9673e7484ae429a7afbff24e318c64df44ea6d6

See more details on using hashes here.

File details

Details for the file flower-1.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: flower-1.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 457.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1

File hashes

Hashes for flower-1.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a4fcf959881135303e98a74cc7533298b7dfeb48abcd1d90c5bd52cb789430a8
MD5 3b25770aeab29d76b4b14b0f3f17ec02
BLAKE2b-256 a31d3d2f8fb52426120ee698d5fb5f4b08cc78f9562311238fd3eb9de902adab

See more details on using hashes here.

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