У меня есть приложение Flask, которое использует WSGI. Для нескольких задач я планирую использовать Celery с RabbitMQ. Но, как следует из названия, я столкнулся с проблемой, когда задачи Celery выполняются в течение нескольких минут, а затем после долгого бездействия они просто исчезают.
Конфигурация сельдерея:
CELERY_BROKER_URL='amqp://guest:guest@localhost:5672//'
BROKER_HEARTBEAT = 10
BROKER_HEARTBEAT_CHECKRATE = 2.0
BROKER_POOL_LIMIT = None
Из этого вопроса я добавил BROKER_HEARTBEAT
и BROKER_HEARTBEAT_CHECKRATE
.
Я запускаю работника внутри venv
с celery -A acmeapp.celery worker &
, чтобы запустить его в фоновом режиме. И при проверке состояния в течение первых нескольких минут он показывает, что один узел подключен к сети, и выдает ответ OK
. Но после нескольких часов простоя приложения, когда я проверяю статус Celery, оно показывает Error: No nodes replied within time constraint.
.
Я новичок в Сельдере и не знаю, что теперь делать.