芹菜工人闲置几个小时后停下来

问题描述 投票:0回答:1

我有一个使用WSGI的Flask应用程序。对于一些任务,我打算将Celery与RabbitMQ一起使用。但正如标题所说,我面临着一个问题,即芹菜任务运行了几分钟,经过长时间的不活动,它就会消失。

芹菜配置:

CELERY_BROKER_URL='amqp://guest:guest@localhost:5672//'
BROKER_HEARTBEAT = 10 
BROKER_HEARTBEAT_CHECKRATE = 2.0
BROKER_POOL_LIMIT = None

this问题,我添加了BROKER_HEARTBEATBROKER_HEARTBEAT_CHECKRATE

我用venvcelery -A acmeapp.celery worker &里面运行工人,在后台运行它。在检查状态时,在前几分钟,它显示一个节点在线并给出OK响应。但是,在应用程序闲置几个小时之后,当我查看Celery状态时,它会显示Error: No nodes replied within time constraint.

我是Celery的新手,我现在不知道该怎么做。

python flask rabbitmq celery
1个回答
0
投票

您的Celery工作程序可能正在尝试重新连接到应用程序,直到达到重试限制。如果是这种情况,在配置文件中设置此选项将解决该问题。

BROKER_CONNECTION_RETRY = True
BROKER_CONNECTION_MAX_RETRIES = 0

第一行将使其在失败时重试,第二行将禁用重试限制。

如果该解决方案不适合您,您还可以使用此选项为您的应用尝试高超时(以秒为单位指定):

BROKER_CONNECTION_TIMEOUT = 120

希望能帮助到你!

© www.soinside.com 2019 - 2024. All rights reserved.