Django芹菜从警告信息中击败了大量漂移

时间:2014-07-15 09:28:17

标签: django timezone celery django-celery 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]

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

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

什么时候我把这个活着?

我正在使用celery 3.1.12而我没有设置CELERY_TIME_ZONE

2 个答案:

答案 0 :(得分:1)

有时候做所有的django设置都无济于事。原因是实例或本地的本地时间不正确(甚至几秒钟)

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

sudo apt-get install ntp
sudo /etc/init.d/ntp restart

以上将确保时间同步

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

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

# For celery
CELERY_ENABLE_UTC = True

我使用以下pip freeze

django-celery==3.1.16
Django==1.6
celery==3.1.8

答案 1 :(得分:0)

这通常表示时区不匹配。请注意,漂移是3600秒=恰好一小时。

要设置的芹菜变量为CELERY_TIMEZONE,而不是CELERY_TIME_ZONE