0

我已经通过 pip 安装了 Flower,一切正常,但是当我看到 Flower 中的任务时间时,它显示的是 GMT 时间而不是时区时间。 花任务选项

  • 蟒蛇 - 3.4
  • 姜戈 - 1.8.7
  • Redis 服务器 v=2.8.17
  • 芹菜 - 3.1.19

我的 celery 和 django 配置:

TIME_ZONE = 'Europe/Moscow'
USE_I18N = True
USE_L10N = True
USE_TZ = True
CELERY_ENABLE_UTC = True
CELERY_TIMEZONE = 'Europe/Moscow'

我试图更改 TIME_ZONE 但它什么也没提供,或者设置CELERY_ENABLE_UTS = False 如果我更改 celery 时区属性 - 它在工作日志中已更改。服务器上的硬件时间也是 13:52。

在工作人员日志中正确显示时间。

[2016-01-13 13:52:44,510: INFO/MainProcess] Received task: ***task[f652c89d-3f1b-4795-9e41-064ceb33b462]
[2016-01-13 13:52:45,529: INFO/MainProcess] Task ***task[f652c89d-3f1b-4795-9e41-064ceb33b462] succeeded in 1.0084812670002066s:
4

1 回答 1

0

设置 CELERY_ENABLE_UTC = False,如果您的 celery 版本高于 3.0 ,以便与 celery beat 保持一致,并且适用于所有时间表。

CELERY_ENABLE_UTC = False

设置 CELERY_TIMEZONE = '亚洲/上海'。让花时间显示得很好。

CELERY_TIMEZONE = 'Asia/Shanghai'

在 Flask 中,设置应该通过以下方式推送到 conf obj 中: celery.conf['CELERY_ENABLE_UTC'] = CELERY_ENABLE_UTC celery.conf['CELERY_TIMEZONE'] = CELERY_TIMEZONE

于 2016-09-09T06:19:28.917 回答