Сельдерейное сердцебиение (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