Как просмотреть все графики на вкладке Celery Flower Monitor

Я использую Celery 3.1.16 с бэкэндом RabbitMQ 3.4.1 и использую Flower 0.7.3 на Python3.4 для мониторинга моих задач с сельдереем. У меня запущено несколько задач, и я могу просмотреть их результаты на вкладке задач Celery Flower.

в monitor На вкладке есть 4 раздела. Успешные задачи, неудачные задачи, время выполнения задач и брокер. Из этих 4 только представление "Брокер" отображает график "трафика". Есть ли настройка для включения других графиков, показывающих некоторую статистику?

flowerconfig.py

# Broker settings
BROKER_URL = 'amqp://guest:guest@localhost:5672//'

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

#Port
port = 5555

# Enable debug logging
logging = 'INFO'

Руководитель: flower.conf

[program:flower]
command=/opt/apps/venv/my_app/bin/celery flower --app=celery_conf.celeryapp --conf=flowerconfig
directory=/opt/apps/my_app/celery_conf
user=www-data
autostart=true
autorestart=true
startsecs=10
redirect_stderr=true
stderr_logfile=/var/log/celery/flower.err.log
stdout_logfile=/var/log/celery/flower.out.log

В то время как были на этом, в графе Брокера, у меня есть две очереди одна зеленая или красная. Тем не менее, тот, который показан на графике, красный, но оба работают, и я могу просмотреть их результаты в окне Задачи.

Я заметил кое-что своеобразное на вкладке "Конфигурация" под вкладкой " Рабочие" в Flower. CELERY_ROUTE и CELERY_QUEUES отображаются в виде пустых списков, а все остальные поля выглядят так, как будто они выбрали правильные данные из файла celeryconfig.

BROKER_URL  amqp://guest:********@localhost:5672//
CELERYBEAT_SCHEDULE {}
CELERYD_PREFETCH_MULTIPLIER 0
CELERY_ALWAYS_EAGER False
CELERY_AMQP_TASK_RESULT_EXPIRES 60
CELERY_CREATE_MISSING_QUEUES    False
CELERY_DEFAULT_EXCHANGE default
CELERY_DEFAULT_QUEUE    default
CELERY_DEFAULT_ROUTING_KEY  ********
CELERY_IMPORTS  ['student.admission', 'student.schedule']
CELERY_INCLUDE  ['celery.app.builtins', 'student.schedule', 'student.admission']
CELERY_QUEUES   [{}, {}, {}, {}, {}]     #<==== Should it show an empty list?
CELERY_RESULT_BACKEND   amqp://guest:guest@localhost:5672//
CELERY_ROUTES   [{}, {}, {}, {}]     #<==== Should it show an empty list?
CELERY_STORE_ERRORS_EVEN_IF_IGNORED True
CELERY_TASK_RESULT_EXPIRES  3600

Celeryconfig.py выглядит следующим образом:

BROKER_URL = 'amqp://guest:guest@localhost:5672//'
CELERY_RESULT_BACKEND = 'amqp://guest:guest@localhost:5672//'

#Task settings
CELERY_TASK_RESULT_EXPIRES = 3600
CELERY_AMQP_TASK_RESULT_EXPIRES = 60
CELERYD_PREFETCH_MULTIPLIER = 0 
CELERY_ALWAYS_EAGER = False
CELERY_CREATE_MISSING_QUEUES = False
CELERY_STORE_ERRORS_EVEN_IF_IGNORED = True

#Scripts to be imported 
CELERY_IMPORTS=('student.admission', 'student.schedule')

#Celery Exchanges, Queues, Routes
default_exchange = Exchange('default', type='direct')
student_admission_exchange = Exchange('student_admission_exchange', type='direct', durable=False)

CELERY_QUEUES = (
    Queue('default', default_exchange, routing_key='default'),
    Queue('student_admission_queue', student_admission_exchange, routing_key='admission', durable=False),
)
CELERY_ROUTES = (
                 {'student.admission.admit': {'queue': 'student_admission_queue','routing_key': 'admission'}},
                     )
CELERY_DEFAULT_QUEUE = 'default'
CELERY_DEFAULT_EXCHANGE = 'default'
CELERY_DEFAULT_ROUTING_KEY = 'default'

редактировать

Как я вижу, я не единственный, кто застрял на этом, хотя я и привожу скриншот "отсутствующих" графиков в качестве руководства.

Сельдерей: неизведанные графики

1 ответ

В моем случае это не было проблемой с самим Flower, но с тем фактом, что временные метки для моих задач были не точными (как показано в сообщении "Существенный сдвиг от *** может означать, что часы не синхронизированы" в моих журналах Celery). Исправление часов может быть ответом.

Flower выясняет, является ли событие новым (и, следовательно, должно быть нанесено на график), сравнивая отметку времени события с отметкой времени последнего обновления графика (см. https://github.com/mher/flower/blob/master/flower/views/monitor.py). В моем случае это сравнение всегда было ложным, поэтому никаких событий не планировалось.

Другие вопросы по тегам