芹菜:“大大漂移”

Prz*_*mek 5 python celery

我的分散系统中的芹菜有很大的问题。我在不同的语言环境中有几台计算机,并且在日志文件中有很多警告,例如:

“从celery @ host大量漂移[...]”

我能够设置日期以返回相同的值(即使计算机位于不同的国家/地区),但python print(utcoffset())在主服务器和节点上返回的结果也不同。

如何解决这个问题?除了utcoffset()应该返回相同的值外,我找不到任何好的解决方案-但是如何?

感谢帮助。

小智 5

我在开始花的时候遇到了类似的问题:

[W 161208 08:42:00 state:74] Substantial drift from celery@host.com may mean clocks are out of sync.  Current drift is 10800 seconds.  [orig: 2016-12-08 08:42:00.722560 recv: 2016-12-08 05:42:00.719938]
Run Code Online (Sandbox Code Playgroud)

使用的版本:

celery==3.1.23 (and 3.1.25)
flower==0.9.1
rabbitmq 3.5.6
Run Code Online (Sandbox Code Playgroud)

与设置:

CELERY_TIMEZONE='US/Pacific'
TIME_ZONE = 'US/Pacific'
USE_TZ = True
Run Code Online (Sandbox Code Playgroud)

查看了有关 stackoverflow 和 git 的所有可用问题报告和建议,但所有指示的修复都是我应该已经在 > 3.1.23 中完成的

这就是我解决它的方法

我的系统和随后的 bash 环境运行的是 EST 时区。正如您在上面看到的,django 应用程序运行“美国/太平洋”(PST)。这是 3 小时的差异,即 10800 秒。

通过将 bash 时区设置为 PST,以匹配 django 应用程序,漂移错误消失了:

export TZ="US/Pacific"
Run Code Online (Sandbox Code Playgroud)


Nic*_*tot 0

只要您使用具有相同 utcoffset() 的CELERY_ENABLE_UTC就不是必需的。

您遇到问题#1112了吗?您可能需要更新到 Celery 3.1。