2014-01-15 40 views
10

我刚刚升级到3.1的芹菜,现在我看到这个我我的日志::芹菜错过心跳(on_node_lost)

on_node_lost - INFO - missed heartbeat from [email protected]_name for every queue/worker in my cluster. 

按照文档BROKER_HEARTBEAT默认是关闭的,我还没有配置。

我是否应该明确设置BROKER_HEARTBEAT=0还是应该检查其他内容?

+0

BROKER_HEARTBEAT = 0不能解决问题 –

+1

启动工人没有心跳(--without-心跳)沉默日志的这个雪崩,但我担心,我们可能会在地毯下席卷另一个问题 –

回答

8

看到了同样的事情,并注意到两件事情中的日志文件。

1)有关于日志开始时的时间漂移​​和偶尔错过的心跳的消息。

2)在日志文件的末尾,漂移消息消失,只有错过的心跳消息出现。

3)漂移信息消失时系统没有变化......他们刚刚停止出现。

我认为漂移本身可能是问题本身。

在同步涉及的所有服务器上的时间后,这些消息就消失了。对于Ubuntu,运行ntpdate作为cron或ntpd。

1

我有类似的问题。我在我的案例中找到了原因。

我有两台服务器来运行worker。

当我使用“平”到另一台服务器, 我发现的ping时间超过2第二个更大的,日志将显示“芹菜@错过心跳”。默认心跳间隔为2秒。

原因是我的网络很差。 http://docs.celeryproject.org/en/latest/internals/reference/celery.worker.heartbeat.html

+0

你能修改心跳间隔? –

+0

是的,芹菜有--hebebeat-interval参数。[--heartbeat-interval](http://docs.celeryproject.org/en/latest/reference/celery.bin.worker.html) – mutex86