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

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

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

相关推荐
小oo呆22 分钟前
【学习心得】Jupyter 如何在conda的base环境中其他虚拟环境内核
python·jupyter·conda
小白学大数据1 小时前
Scrapy框架下地图爬虫的进度监控与优化策略
开发语言·爬虫·python·scrapy·数据分析
浊酒南街1 小时前
TensorFlow之微分求导
人工智能·python·tensorflow
立秋67891 小时前
用Python绘制梦幻星空
开发语言·python·pygame
alpszero2 小时前
YOLO11解决方案之对象裁剪探索
人工智能·python·计算机视觉·yolo11
白云千载尽2 小时前
相机、雷达标定工具,以及雷达自动标定的思路
python·自动驾驶·ros
joker D8882 小时前
【C++】深入理解 unordered 容器、布隆过滤器与分布式一致性哈希
c++·分布式·哈希算法
咕噜咕噜啦啦2 小时前
python爬虫实战训练
爬虫·python
盛夏绽放2 小时前
Python字符串常用内置函数详解
服务器·开发语言·python
我想睡觉2612 小时前
Python训练营打卡DAY27
开发语言·python·机器学习