如何解决Celery实例异常退出的问题

容器与中间件中间件技术服务知识库
前言

celery是一个分布式的任务调度模块,我们可以将一些耗时的操作提交给 Celery 去异步执行,同时还可以实现类似 crontab 定时任务功能。在本例中,客户使用的是 RabbitMQ 来作为消息中间件

问题描述

客户的消费者实例在执行任务过程中会异常退出,具体报错如下:

[2022-0308 11:03:38.403 ERROR/MainPorocess] unrecoverable error:Precondition Failed(406,'PRECONDITION_FAILED - delivery acknowledgement on channel 1 timed out. Timeout value used: 1800000 ms. This Timeout value can be configured, see consumers doc giude to learn more',(0,0),'')
问题分析

消息者实例运行时间超过 1800000 ms 没有返回 ACK 给 RabbitMQ,导致 RabbitMQ 将程序关闭。

解决方案

The timeout value is configurable in [rabbitmq.conf] (in milliseconds):

# one hour in milliseconds
consumer_timeout = 3600000
参考文档

[1] https://www.rabbitmq.com/consumers.html 如果您有其他问题,欢迎您联系火山引擎技术支持服务

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

所属团队号:
相关资源
抖音连麦音画质体验提升与进阶实践
随着互娱场景实时互动创新玩法层出不穷,业务伙伴对 RTC「体验」和「稳定」的要求越来越高。火山引擎 RTC 经历了抖音 6 亿 DAU 的严苛验证和打磨,在架构设计、音画质提升、高可靠服务等方面沉淀了丰富的经验,本次演讲将和大家分享火山引擎 RTC 在直播连麦等场景中的技术优化及其带来的新玩法。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论