Skip to content

Latest commit

 

History

History
338 lines (209 loc) · 7.09 KB

config.rst

File metadata and controls

338 lines (209 loc) · 7.09 KB
tocdepth:2

Configuration

Flower can be configured from the command line:

$ celery flower --auto_refresh=False

Using :file:`flowerconfig.py` configuration file:

# RabbitMQ management api
broker_api = 'http://guest:guest@localhost:15672/api/'

# Enable debug logging
logging = 'DEBUG'

Or, using the environment variables. All flower options should be prefixed with FLOWER_:

$ export FLOWER_BASIC_AUTH=foo:bar

Options passed through the command line have precedence over the options defined in the configuration file. The configuration file name and path can be changed with conf option.

$ celery flower --conf=celeryconfig.py

Options

Standard Celery configuration settings can be overridden in the configuration file. See Celery Configuration reference for a complete listing of all the available settings, and their default values.

Celery command line options also can be passed to Flower. For example the --broker sets the default broker URL:

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

For a full list of options see:

$ celery --help

Run the http server on a given address. Address may be either an IP address or hostname. If it’s a hostname, the server will listen on all IP addresses associated with the name. Address may be an empty string or None to listen on all available interfaces.

Enables authentication. auth is a regexp of emails to grant access. For security reasons auth only supports a basic regex syntax: single email (user@example.com), wildcard (.*@example.com) or list of emails separated by pipes (one@example.com|two@example.com). For more info see :ref:`authentication`.

Refresh dashboards automatically (by default, auto_refresh=True)

Enables HTTP Basic authentication. basic_auth is a comma separated list of username:password. See :ref:`basic-auth` for more info.

Flower uses RabbitMQ Management Plugin to get info about queues. broker_api is a URL of RabbitMQ HTTP API including user credentials.

$ celery -A proj flower --broker_api=http://username:password@rabbitmq-server-name:15672/api/

Note

By default the management plugin is not enabled. To enable it run:

$ rabbitmq-plugins enable rabbitmq_management

Note

The port number for RabbitMQ versions prior to 3.0 is 55672.

A path to ca_certs file. The ca_certs file contains a set of concatenated “certification authority” certificates, which are used to validate certificates passed from the other end of the connection. For more info see Python SSL

A path to SSL certificate file

A path to the configuration file (by default, :file:`flowerconfig.py`)

A database file to use if persistent mode is enabled (by default, db=flower)

Enable the debug mode (by default, debug=False)

Periodically enable Celery events by using enable_events command (by default, enable_event=True)

Modifies the default task formatting. format_task function should be defined in the flowerconfig.py configuration file. It accepts a task object and returns the modified version.

format_task is useful for filtering out sensitive information.

The example below shows how to filter arguments and limit display lengths:

from flower.utils.template import humanize

def format_task(task):
    task.args = humanize(task.args, length=10)
    task.kwargs.pop('credit_card_number')
    task.result = humanize(task.result, length=20)
    return task

Sets worker inspect timeout (by default, inspect_timeout=1000 in milliseconds)

A path to SSL key file

Maximum number of workers to keep in memory (by default, max_workers=5000)

Maximum number of tasks to keep in memory (by default, max_tasks=10000)

Show time relative to the refresh time (by default, natural_time=True)

Enable persistent mode. If the persistent mode is enabled Flower saves the current state and reloads on restart (by default, persistent=False)

Run the http server on a given port (by default, port=5555)

Sets the interval for saving state. state_save_interval=0 means that periodic saving is disabled (by default, state_save_interval=0 in milliseconds)

Enable support of X-Real-Ip and X-Scheme headers (by default, xheaders=False)

Specifies list of comma-delimited columns on /tasks/ page. all value enables all columns. Columns on the page can be reordered using drag and drop.

(by default, tasks_columns="name,uuid,state,args,kwargs,result,received,started,runtime,worker")

Available columns are:

  • name
  • uuid
  • state
  • args
  • kwargs
  • result
  • received
  • started
  • runtime
  • worker
  • retries
  • revoked
  • exception
  • expires
  • eta

Enables deploying Flower on non-root URL

For example to access Flower on http://example.com/flower run it with:

$ celery flower --url_prefix=flower

NOTE: The old nginx rewrite is no longer needed

Run flower using UNIX socket file

Set a secret key for signing cookies

Sets authentication provider

  • Google flower.views.auth.GoogleAuth2LoginHandler
  • GitHub flower.views.auth.GithubLoginHandler
  • GitLab flower.views.auth.GitLabLoginHandler

See Authentication for usage examples

Time (in seconds) after which offline workers are automatically removed from dashboard.

If omitted, offline workers remain on the dashboard.

Sets task runtime latency buckets

buckets value can be provided as cli options:

$ celery flower --task_runtime_metric_buckets=1,5,10,inf

Or, it can be also provided as ENV variable:

$ export FLOWER_TASK_RUNTIME_METRIC_BUCKETS=1,5,10,inf
If not provided:
  • default prometheus buckets will be used