celery heart-beat

刚开始,我以为在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

应该不需要我翻译吧:)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值