为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

GCT1015 2021-06-05 13:10:03
我有一个使用 WSGI 的 Flask 应用程序。对于一些任务,我计划将 Celery 与 RabbitMQ 一起使用。但正如标题所说,我面临一个问题,Celery 任务运行几分钟,然后在长时间不活动后它就会消失。芹菜配置:CELERY_BROKER_URL='amqp://guest:guest@localhost:5672//'BROKER_HEARTBEAT = 10 BROKER_HEARTBEAT_CHECKRATE = 2.0BROKER_POOL_LIMIT = None从这个问题,我添加了BROKER_HEARTBEAT和BROKER_HEARTBEAT_CHECKRATE。我在venvwithcelery -A acmeapp.celery worker &中运行worker以在后台运行它。在检查状态时,在前几分钟,它显示一个节点在线并给出OK响应。但是在应用闲置几个小时后,当我检查 Celery 状态时,它显示Error: No nodes replied within time constraint..我是 Celery 的新手,我现在不知道该怎么做。
查看完整描述

1 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

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


BROKER_CONNECTION_RETRY = True

BROKER_CONNECTION_MAX_RETRIES = 0

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


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


BROKER_CONNECTION_TIMEOUT = 120


查看完整回答
反对 回复 2021-06-06
  • 1 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号