У меня есть один главный сервер и 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]')
Я чувствую, что упускаю что-то очень простое, но не могу понять, что это такое.