Сельдерей - Цветочная служба в Cent / 7 не показывает данные после перезапуска

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

[Service]
User=vagrant
Group=vagrant
WorkingDirectory=/home/vagrant/
ExecStart=/usr/bin/celery -A tasks /usr/bin/flower --port=5000 --basic_auth=sun:flower --persistent=true --/var/log/supervisord.log
Restart=on-failure
Type=simple

Я создал простые задачи для целей тестирования после создания репликации REDIS master-slave и указания Celery и flower на Master ...

celery.ini для супервизора

[program:SPSimpleTasks]
directory = /home/vagrant/
command = celery -A tasks worker --loglevel=DEBUG -n SimpleTasks
user=vagrant
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisord.log
stderr_logfile=/var/log/supervisord.log

celery_app.py

from celery import Celery

app = Celery('tasks', backend='redis://:<PASSWORD>@192.168.100.20:6379/0')
#app.config_from_object('celeryconfig')
app.conf.update(
    enable_utc          =   True,
    broker_url          =   'redis://:<PASSWORD>@192.168.100.20:6379/0',
    result_backend      =   'redis://:<PASSWORD>@192.168.100.20:6379/1',
    result_persistent   =   True,
    task_serializer     =   'json',
    result_serializer   =   'json',
    accept_content      =   ['json']
)

Опять же, рабочие работают нормально, а цветок показывает результат задачи. Но как только я перезапускаю службу, используя

перезапуск службы sudo

Цветок загружается как новая установка без каких-либо данных ...

Я что-то делаю не так с URL-адресами брокера / серверной части?


person Farhan    schedule 13.03.2018    source источник


Ответы (1)


Что ж, это было дополнительное изменение конфигурации в Flower, и я немного изменил подход!

Обязательное свойство конфигурации: db.

Я обновил сервис до

/etc/systemd/system/flower.service

[Unit]
Description=Flower Celery Service

[Service]
User=vagrant
Group=vagrant
WorkingDirectory=/home/vagrant/
ExecStart=/usr/bin/flower --/var/log/supervisord.log
Restart=on-failure
Type=simple

[Install]
WantedBy=multi-user.target

/home/vagrant/flowerconfig.py

port        =   5000
broker      =   'redis://:<password>@192.168.100.20:6379/0'
broker_api  =   'redis://:<password>@192.168.100.20:6379/0'
basic_auth  =   ['sun:flower']
persistent  =   True
db          =   '/home/vagrant/flower.db'

После предоставления свойства db все было в порядке. За исключением одной проблемы ... Цветочная панель инструментов не отображала данные, но страница Задачи загружала список задач до обновления!

Получено из http://flower.readthedocs.io/en/latest/config.html#db

Файл базы данных для использования, если включен постоянный режим (по умолчанию db = flower)

Я отправил то же, что и проблема / наблюдение в цветке - https://github.com/mher/flower/issues/787

Надеюсь, это поможет другим, столкнувшимся с подобной проблемой!

person Farhan    schedule 14.03.2018