Configuration¶
Flower can be configured from the command line:
$ flower --auto_refresh=False
Using 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.
$ 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:
$ flower -A proj --broker=amqp://guest:guest@localhost:5672//
For a full list of options see:
$ celery --help
auth¶
Enables Google OpenID authentication. auth is a regexp of emails to grant access. For more info see google-openid
auto_refresh¶
Refresh dashboards automatically (by default, auto_refresh=True)
basic_auth¶
Enables HTTP Basic authentication. basic_auth is a comma separated list of username:passworrd. See HTTP Basic Authentication for more info.
broker_api¶
Flower uses RabbitMQ Managment Plugin to get info about queues. broker_api is a URL of RabbitMQ HTTP API including user credentials.
$ flower -A proj --broker_api=http://username:password@rabbitmq-server-name:15672/api/
Note
By default the managment 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.
ca_certs¶
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 :ref:`Python SSL`_
enable_events¶
Periodically enable Celery events by using enable_events command (by default, enable_event=True)
format_task¶
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
inspect_timeout¶
Sets worker inspect timeout (by default, inspect_timeout=10000 in milliseconds)
max_workers¶
Maximum number of workers to keep in memory (by default, max_workers=5000)
natural_time¶
Show time relative to the refresh time (by default, natural_time=True)
persistent¶
Enable persistent mode. If the persistent mode is enabled Flower saves the current state and reloads on restart (by default, persistent=False)
tasks_columns¶
Specifies list of comma-delimited columns on /tasks/ page. Columns on the page can be reordered using drag and drop. Available columns are:
- name
- uuid
- state
- args
- kwargs
- result
- received
- started
- runtime
- worker
- retries
- revoked
- exception
- expires
- eta
url_prefix¶
Enables deploying Flower on non-root URL
For example to access Flower on http://example.com/flower run it with:
$ flower --url_prefix=flower
And use the following nginx configuration:
server {
listen 80;
server_name example.com;
location /flower/ {
rewrite ^/flower/(.*)$ /$1 break;
proxy_pass http://example.com:5555;
proxy_set_header Host $host;
}
}
unix_socket¶
Run flower using UNIX socket file
cookie_secret¶
Set a secret key for signing cookies
auth_provider¶
Sets authentication provider
- Google flower.views.auth.GoogleAuth2LoginHandler
- GitHub flower.views.auth.GithubLoginHandler
See Authentication for usage examples