时区配置的芹菜节拍时间表没有在合适的时间开始

时间:2017-08-02 06:10:04

标签: python timezone celery

python版本:3.5.2 芹菜版:4.1.0

服务器当地时区:亚洲/北京时区+08:00 CST

芹菜设置:

timezone = "Asia/Shanghai"

beat_schedule = {
    "test.hello": {
        "task": "test.hello",
        "args": (),
        "schedule": crontab(minute=55, hour=22, day_of_week="Mon,Tue,Wed,Thu,Fri")
    },

}

但芹菜击败运行任务从2017-08-02 07:01:00 CST开始,

实际上任务应该从2017-08-01 22:55:00 +08:00开始。

2 个答案:

答案 0 :(得分:1)

需要使用enable_utctimezone启用芹菜设置。

enable_utc = True
timezone = "Asia/Shanghai"

这可以使任务按预期运行。

否则芹菜时间表将以UTC时区开始。

答案 1 :(得分:0)

我在更改时区时仍未更新时区时遇到错误。

使用此设置除UTC以外的时区。

CELERY_TIMEZONE = 'Asia/Shanghai' # write your timezone
app.conf.enable_utc = False

此解决方案对我有用