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

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

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

相关推荐
无心水21 小时前
17、Java内存溢出(OOM)避坑指南:三个典型案例深度解析
java·开发语言·后端·python·架构·java.time·java时间处理
天天进步201521 小时前
源码级优化:Graphiti 的并发处理与分布式记忆存储架构
人工智能·分布式·架构
susu108301891121 小时前
python代码把GIF 转成视频
开发语言·python
木头程序员21 小时前
关于load_data_fashion_mnist函数运行原理以及运行速度慢解决方案
人工智能·python·深度学习·d2l
林姜泽樾1 天前
python入门第六课,其他字符串格式化和input
开发语言·python·pycharm
yunpeng.zhou1 天前
深度理解agent与llm之间的关系、及mcp与skill的区别
人工智能·python·ai
智算菩萨1 天前
【Pygame】第14章 摄像机系统与游戏视口控制技术
python·游戏·pygame
小镇学者1 天前
【python】 macos 安装ffmpeg 命令行工具
python·macos·ffmpeg
电商API&Tina1 天前
【京东item_getAPI 】高稳定:API 、非爬虫、不封号、不掉线、大促稳跑
大数据·网络·人工智能·爬虫·python·sql·json
O丶ne丨柒夜1 天前
Claude Code、Codex 常用命令和命令速查
python