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

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

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

相关推荐
珺毅同学9 小时前
YOLO生成预测json标签迁移问题
python·yolo·json
骑士雄师9 小时前
18.4 长期记忆可修改版
python
~小先生~9 小时前
Python从入门到放弃(一)
开发语言·python
天佑木枫9 小时前
第2天:变量与数据类型 —— 让程序记住信息
python
闪电悠米10 小时前
黑马点评-Redis 消息队列-03_stream_consumer_group
开发语言·数据库·redis·分布式·缓存·junit·lua
Dust-Chasing10 小时前
Claude Code源码剖析 - Claude Code 上下文压缩机制
人工智能·python·ai
Cloud_Shy61811 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第五章 Item 33 - 35)
开发语言·人工智能·笔记·python·学习方法
abcy07121312 小时前
python pandas csv异步后台清洗前端优先返回成功信息
前端·python·pandas
颜酱12 小时前
LangChain使用RAG 入门:让大模型读懂你的私有文档
python·langchain
天天进步201513 小时前
Python全栈项目--校园智能宿舍管理系统
开发语言·python