Задачи Celery внезапно перестают выполняться, узлы не могут найти друг друга - PullRequest
0 голосов
/ 03 октября 2018

У меня есть один главный сервер и 6 рабочих серверов (на каждом работает пара рабочих).Внезапно, после многих месяцев безупречного выполнения, все задачи перестали выполняться, хотя в коде не было никаких изменений.Теперь даже после перезагрузки всех задействованных серверов, перезапуска RabbitMQ, перезапуска рабочих и т. Д. Создается впечатление, что серверы не могут найти друг друга, и поэтому никакие задачи не могут быть выполнены.

Когда язапустите celery -A proj inspect active, ответ - Error: No nodes replied within time constraint. Я также могу подключиться к брокеру с помощью Flower, но в нем нет рабочих, даже если рабочие работают и указывают на одного и того же брокера.На главном сервере, который отвечает за добавление задач, мое приложение теперь, как представляется, зависает на apply_async.

на неопределенное время. В моем приложении для брокера установлено значение pyamqp, а для внутреннего интерфейса - rpc:

Celery('proj', broker='pyamqp://[master server's IP]', backend='rpc://[master server's IP]')

Я чувствую, что упускаю что-то очень простое, но не могу понять, что это такое.

1 Ответ

0 голосов
/ 03 октября 2018

Переход к /var/log/rabbitmq/rabbit@[server-name].log и прокрутка назад, когда проблема впервые возникла, привела меня к этому сообщению Disk free space limit now exceeded. Free bytes:999378944 Limit:1000000000.

Оказывается, жесткий диск был заполнен до краев, что, по-видимому, вызывало всевозможные проблемы для RabbitMQ и Celery.Освобождение места полностью решило все проблемы.

...