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

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

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

相关推荐
我的xiaodoujiao22 分钟前
快速学习Python基础知识详细图文教程18--多线程
开发语言·python·学习·测试工具
❀搜不到1 小时前
isat-sam分割导出掩码图
开发语言·python
Zane19942 小时前
ClassName() 只是一步?拆开看 __new__ 和 __init__ 各自在干什么
后端·python
曾阿伦2 小时前
Trae CN Python环境调试debug指南
开发语言·python
渣男教父2 小时前
Python游戏自动化实战案例
python·编程语言
天天爱吃肉82182 小时前
【工程师笔记|新能源整车电控一次过CISPR25/BCI,汽车EMC/EMI落地十大核心设计技巧】
大数据·人工智能·笔记·python·汽车
m0_617493942 小时前
Python 使用 cryptography 实现数据加密与解密
开发语言·python
中议视控2 小时前
展厅可视化网络中央控制系统:支持双向反馈,可视化播控,回显,状态显示,反向控制电脑,声光电网络视讯设备统一管理
网络·分布式·信息可视化
万山寒3 小时前
python依赖包导出离线安装到没有外网的服务器
服务器·开发语言·python
程序员雷欧3 小时前
LongAdder
开发语言·python