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

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

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

相关推荐
赛博郎中3 分钟前
pygame小游戏飞机大战_8继承精灵玩家优化
python·pygame
William一直在路上15 分钟前
Python数据类型转换详解:从基础到实践
开发语言·python
trayvontang1 小时前
Python虚拟环境与包管理工具(uv、Conda)
python·conda·uv·虚拟环境·miniconda·miniforge
伊织code1 小时前
pdfminer.six
python·pdf·图片·提取·文本·pdfminer·pdfminer.six
hqxstudying2 小时前
JAVA项目中邮件发送功能
java·开发语言·python·邮件
Q_Q5110082852 小时前
python的软件工程与项目管理课程组学习系统
spring boot·python·django·flask·node.js·php·软件工程
合作小小程序员小小店3 小时前
SDN安全开发环境中常见的框架,工具,第三方库,mininet常见指令介绍
python·安全·生成对抗网络·网络安全·网络攻击模型
后台开发者Ethan3 小时前
Python需要了解的一些知识
开发语言·人工智能·python
北京_宏哥3 小时前
Python零基础从入门到精通详细教程11 - python数据类型之数字(Number)-浮点型(float)详解
前端·python·面试
盼小辉丶3 小时前
PyTorch生成式人工智能——使用MusicGen生成音乐
pytorch·python·深度学习·生成模型