【问题标题】:Celery - Flower service in Cent/7 doesn't show data after a restartCelery - Cent/7 中的花卉服务在重启后不显示数据
【发布时间】:2018-03-13 15:50:04
【问题描述】:

我的服务如下:

[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 主从复制并将 Celery 和 Flower 指向 Master 之后,我创建了一个用于测试目的的简单任务......

celery.ini 用于 Supervisord

[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 服务花重启

Flower 在没有任何数据的情况下作为全新安装加载...

我在代理/后端 url 上做错了吗?

【问题讨论】:

    标签: python celery centos7 supervisord flower


    【解决方案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 属性后,一切正常。除了一个问题.. Flower Dashboard 没有显示数据,但 Tasks 页面在刷新之前正在加载任务列表!

    http://flower.readthedocs.io/en/latest/config.html#db学习

    启用持久模式时使用的数据库文件(默认情况下, db=花)

    我已经提交了与花中相同的问题/观察 -- https://github.com/mher/flower/issues/787

    希望这有助于其他面临类似问题的人!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-10
      • 1970-01-01
      • 2020-07-29
      • 2021-09-09
      相关资源
      最近更新 更多