首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RabbitMQ重试机制

RabbitMQ重试机制
EN

Stack Overflow用户
提问于 2015-03-01 12:09:24
回答 1查看 2.1K关注 0票数 0

我使用的是rabbitMQ,我使用basic_get接收队列中的每条消息,而无需自动加标过程,这意味着消息将一直保持在队列中,直到我对消息进行攻击或nack。

有时,由于抛出一些异常,无法处理消息,从而阻止了它们的完全处理。

在这些情况下,我想再试一次,让我们立即说两次,如果结果仍然不能处理它们--我想在一小时内再试3次,如果所有的尝试都失败了,那么我想将消息插入并永久地从队列中删除。

问题是,rabbitMQ中是否有任何机制为我提供消息重试(也包括重试次数),以及选择何时启动重试的能力-某种推迟机制?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-01 12:16:49

为此,您应该使用多个队列。

我也遇到了类似的问题,我处理这个问题的方法是将遇到问题的消息转移到另一个队列中。

如果您抛出了异常,然后捕获它,将消息保存并移动到error_queue_1中,您可以设置第二个监听器(带有不同的计时器),它将处理error_queue_1。

你可以重复这个过程很多次,因为你觉得它是必要的。

这还可以让您知道有多少消息有问题,哪一个,等等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28793354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档