如何解决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

所属团队号:
相关资源
TRAE 的思考:AI 时代程序员的认知进化
在 AI 浪潮下,传统的古法编程模式正在被颠覆和变革,对开发者的认知和协作模式提出了新的挑战。本次分享将深入探讨 AI Coding 的演进趋势,从 AI 辅助编程到 AI 主导的全新协作模式,以及它如何重塑人与 AI 之间的关系,同时也将分享下 TRAE 的核心理念、技术实现,演进实践中的踩坑心得、以及我们对未来的展望。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论