celery 结合 rabbitmq 使用时,celery 消费者执行时间太久发送 ack 消息失败

celery 5.3.6 结合 rabbitmq 使用时,celery 消费者执行时间超过 30 分钟,执行完成后向 rabbitmq 发起确认消费完成的 ack 消息时,提示 Connection reset by peer,rabbitmq 客户端连接已经断开了,这会导致同一个执行时间比较久的任务不断重复消费而且每次都无法成功发送 ack 消息。

这种情况下,添加对执行结果的 redis 缓存,每次执行消费任务时先检查结果是否已经存在(由唯一键来确定是同一个任务),每次执行完消费任务将结果添加进 redis 缓存再发送 ack 消息,这样来避开同一个执行时间比较久的任务不断重复消费。

相关推荐
网易独家音乐人Mike Zhou2 小时前
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
c语言·python·单片机·物联网·算法·嵌入式·iot
安静读书2 小时前
Python解析视频FPS(帧率)、分辨率信息
python·opencv·音视频
zhixingheyi_tian2 小时前
Spark 之 Aggregate
大数据·分布式·spark
求积分不加C4 小时前
-bash: ./kafka-topics.sh: No such file or directory--解决方案
分布式·kafka
nathan05294 小时前
javaer快速上手kafka
分布式·kafka
小二·4 小时前
java基础面试题笔记(基础篇)
java·笔记·python
小喵要摸鱼5 小时前
Python 神经网络项目常用语法
python
一念之坤7 小时前
零基础学Python之数据结构 -- 01篇
数据结构·python
wxl7812277 小时前
如何使用本地大模型做数据分析
python·数据挖掘·数据分析·代码解释器
NoneCoder7 小时前
Python入门(12)--数据处理
开发语言·python