celery heart-beat

本文详细解释了Celery中BROKER_HEARTBEAT参数的作用,并澄清了Celery worker心跳与RabbitMQ心跳的区别。Celery worker的心跳是应用级别的心跳,通过周期性地向Broker发送心跳消息来监测Broker的状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚开始,我以为在celery配置文件中配置的BROKER_HEARTBEAT这个参数是指worker和rabbitmq的心跳都为十秒,不过后来测试才发现,只有rabbitmq才会在十秒后收不到对方反应,就会将与celery的TCP连接给断开,而worker的TCP并无反应,直到过了十几分钟worker才意识到连不上rabbitmq了。
很奇怪!
后来查资料才知道,rabbitmq的心跳机制是在amqp协议上的,celery的worker的心跳机制跟它不是一回事(国内有网友居然混为一谈,具体不得而知是哪个大神的文章),Stack Overflow上有一个原文讲解了celery的worker的心跳:

the heartbeat of celery worker is application level heartbeat, not
AMQP protocol’s heartbeat. Each worker periodically send heartbeat
event message to “celeryev” event exchange in BROKER. The heartbeat
event is forwarded back to worker such worker can know the health
status of BROKER. If number of loss heartbeat exceeding a threshold,
the worker can do some reconnect action to BROKER.

from
https://stackoverflow.com/questions/20957134/celery-heartbeat-not-working/21038204#21038204

应该不需要我翻译吧:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值