Django celery 击败了警告消息的重大偏差

psy*_*ok7 5 django timezone celery django-celery celerybeat

所以我正在使用虚拟机(vagrant)进行开发,当我在其中启动 celerybeat 时,我收到此消息:

[2014-07-15 10:16:49,627: INFO/MainProcess] beat: Starting...
[W 140715 09:16:51 state:74] Substantial drift from celery@worker_publications may mean clocks are out of sync.  Current drift is
    3600 seconds.  [orig: 2014-07-15 09:16:51.476125 recv: 2014-07-15 10:16:51.474109]

[W 140715 09:16:51 state:74] Substantial drift from celery@worker_queue may mean clocks are out of sync.  Current drift is
    3600 seconds.  [orig: 2014-07-15 09:16:51.480642 recv: 2014-07-15 10:16:51.475021]
Run Code Online (Sandbox Code Playgroud)

当我在里面约会时,我得到了一个Tue Jul 15 09:25:11 UTC 2014,但问题是我住在葡萄牙,我的主机给了我Ter Jul 15 10:25:39 WEST 2014

对我来说解决这个问题的最佳方法是什么?

当我把这个上线的时候呢?

我正在使用celery 3.1.12,但没有套装CELERY_TIME_ZONE

Anu*_*rya 1

有时做所有 django 设置并没有帮助。原因是实例或本地的本地时间不正确(甚至有几秒)

确保多个实例之间的时间相同(例如 ec2 和 digitalocean)

sudo apt-get install ntp
sudo /etc/init.d/ntp restart
Run Code Online (Sandbox Code Playgroud)

以上将确保时间同步

如上所述,我在 Django 中使用以下内容

TIME_ZONE = 'America/Los_Angeles'
TZINFO = 'UTC'
USE_TZ = True

# For celery
CELERY_ENABLE_UTC = True
Run Code Online (Sandbox Code Playgroud)

我正在使用以下pip freeze

django-celery==3.1.16
Django==1.6
celery==3.1.8
Run Code Online (Sandbox Code Playgroud)