1. 问题描述
Flower中 Tasks列表中 Received和Started时间与实际时间相差八个小时
2. 解决
flower启动命令加上app
celery -A appxxx --broker=XXX flower --address=XXX --port=xxxx
3. 排查
1)redis入库时间正确
2) flower启动时,Registered tasks中未包含注册的tasks
3) 查看flower源码(前端显示路径 /tasks)
文件 | 启动命令(不添加app) 以及执行结果 | 启动命令(添加app)以及执行结果 |
---|---|---|
命令 | celery --broker=XXX flower --address=XXX --port=xxxx | celery -A appxxx --broker=XXX flower --address=XXX --port=xxxx |
flower/views/tasks.py TasksView.py if capp.conf.CELERY_TIMEZONE: time+= '-' + str(capp.conf.CELERY_TIMEZONE) print(time) | "time" | "time-Asia/Shanghai" |
flower/templates/tasks.html<input type="hidden" value="{{ time }}" id='time'> | "time" | "time-Asia/Shanghai" |
flower/static/js/flower.jsvar time = $('#time').val(), prefix = time.startsWith('natural-time') ? 'natural-time' : 'time', tz = time.substr(prefix.length + 1)|| ‘UTC’; | time = 'time' prefix = 'time' tz = ‘’||‘UTC’ = ‘UTC’ | time = 'time-Asia/Shanghai' prefix = 'time' tz = ‘Asia/Shanghai’||‘UTC’ = ‘Asia/Shanghai’ |
查询参考链接:https://www.zhihu.com/question/334193362 @超凡之萌 的评论