Сельдерейное сердцебиение (on_node_lost)

Я просто обновился до сельдерея 3.1, и теперь я вижу это в моих журналах::

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

В соответствии с документами BROKER_HEARTBEAT отключен по умолчанию, и я его не настроил.

Должен ли я явно установить BROKER_HEARTBEAT=0 или есть что-то еще, что я должен проверять?

Ответ 1

Пила то же самое и заметила пару вещей в файлах журнала.

1) Появились сообщения о временном дрейфе в начале журнала и случайных пропущенных биениях.

2) В конце файла журнала сообщения дрейфа исчезли, и присутствовали только сообщения о пропущенных сердцебиениях.

3) Не было никаких изменений в системе, когда сообщения дрифта исчезли... Они просто перестали отображаться.

Я понял, что сам дрейф, скорее всего, сам по себе.

После синхронизации времени на всех задействованных серверах эти сообщения ушли. Для ubuntu запустите ntpdate как cron или ntpd.

Ответ 2

Сельдерей 3.1 добавлен в новые процедуры смешения и сплетен. Я тоже получал тонну пропущенных сердечных сокращений и прохожу - без разговоров с моими работниками прояснили это.

http://docs.celeryproject.org/en/latest/whatsnew-3.1.html#mingle-worker-synchronization http://docs.celeryproject.org/en/latest/whatsnew-3.1.html#gossip-worker-worker-communication

Ответ 3

У меня такая же проблема. Я нашел причину в моем случае.

У меня есть два сервера для запуска рабочего.

когда я использую "ping" на другом сервере, Я обнаружил, что время ping больше 2 секунд, журнал покажет "пропущенное сердцебиение от сельдерея @" . Интервал сердцебиения по умолчанию составляет 2 секунды.

Это моя бедная сеть. http://docs.celeryproject.org/en/latest/internals/reference/celery.worker.heartbeat.html