RabbitMQ 上的 Nack 和拒绝

2024-04-24

我想处理消费者从队列中获取的不成功的消息并将它们重新排队。

想象一下我有这样的情况:

P => | foo | bar | baz | => C

其中 foo、bar 和 baz 是消息。

如果消费者读到baz但出了问题,我可以使用basic.reject or the basic.nack ( https://www.rabbitmq.com/nack.html https://www.rabbitmq.com/nack.html)。使用这两个命令之一,我将传递参数以重新排队消息。

问题是消息在之前的相同位置重新排队,因此下一条消息将是baz again.

我想重新排队,但将其发送回队列的开头:

P => | baz | foo | bar | => C

我在应用程序上用几行代码解决了这个问题,但我想知道是否存在更好的解决方案,也许直接使用 RabbitMQ 的某些功能。


你可以看一下死信队列(DLQ):https://www.rabbitmq.com/dlx.html https://www.rabbitmq.com/dlx.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RabbitMQ 上的 Nack 和拒绝 的相关文章

  • 基于多线程的 RabbitMQ 消费者

    我们有一个 Windows 服务 它监听单个 RabbitMQ 队列并处理消息 我们希望扩展相同的 Windows 服务 以便它可以监听 RabbitMQ 的多个队列并处理消息 不确定使用多线程是否可以实现这一点 因为每个线程都必须侦听 阻
  • 删除队列中的最后一个元素

    我需要删除队列的最后一个元素 我唯一可以使用的操作是 Peek 获取第一个元素而不删除它 Enqueue element 向队列末尾插入一个元素 Dequeue 删除第一个元素 IsEmpty true 或 false 队列是否为空 而且我
  • 为什么 std::queue 使用 std::dequeue 作为底层默认容器?

    继续阅读cplusplus com http www cplusplus com reference queue queue std queue实现如下 队列被实现为容器适配器 这些类 使用特定容器类的封装对象作为其 底层容器 提供一组特定
  • 生产者/消费者的不同语言

    我想知道是否可以通过 AMQP 和 RabbitMQ 对生产者和消费者使用不同的语言 例如 Java 代表生产者 python php 代表消费者 或者反之亦然 是的 AMQP 与语言无关 这意味着只要您有可以连接到 AMQP 的客户端sa
  • 将 sensu-client 连接到服务器时 AMQP 连接的 bad_header

    我已经安装了 sensu 和厨师社区食谱 但是 sensu客户端无法连接到服务器 导致rabbitmq连接错误 尝试连接时消息超时 这是详细的客户端日志 来自 sensu client log 的日志 timestamp 2014 07 0
  • RabbitMQ - 无法联系统计数据库。消息速率和队列长度将不会显示

    我已经设置了一个兔子经纪人集群 并且在管理门户插件中我收到以下消息 无法联系统计数据库 消息速率和队列长度将不会显示 我已经搜索过这个错误 但谷歌并不友善 任何人都可以阐明这一点吗 我最近在旧安装的RabbitMQ 2 8 7 上遇到了同样
  • 从 Java/Spring 检索 RabbitMQ 队列中未确认消息的数量

    有没有办法返回未确认的消息数 我正在使用此代码来获取队列中的消息数 DeclareOk declareOk amqpAdmin getRabbitTemplate execute new ChannelCallback
  • 在 PL/SQL 中创建队列订阅者的语法是什么?

    我正在尝试创建一个队列和一个在消息排队时触发的回调 但我无法触发回调 我究竟做错了什么 我有一个将消息入队的触发器 我可以在队列消息表上看到它 我可以手动将其出队并处理它 我只是无法在入队时触发回调 BEGIN DBMS AQADM CRE
  • 线程安全的有限大小队列,不使用锁

    我正在尝试编写一个主题队列 但遇到死锁和其他多线程问题 我想用Interlocked CompareExchange避免lock用法 但这段代码并没有按预期工作 它只是擦除整个队列 我在这里做错了什么 public class FixedS
  • Celery 广播 vs RabbitMQ 扇出

    我最近一直在使用 Celery 但我不喜欢它 它的配置很混乱 过于复杂并且文档记录很少 我想用 Celery 从单个生产者向多个消费者发送广播消息 让我困惑的是 Celery 术语和底层传输 RabbitMQ 术语之间的差异 在 Rabbi
  • 如何将队列引用传递给 pool.map_async() 管理的函数?

    我想要一个长时间运行的进程通过队列 或类似的东西 返回其进度 我将其提供给进度栏对话框 当过程完成时我还需要结果 这里的测试示例失败并显示RuntimeError Queue objects should only be shared be
  • PHP + MySQL 队列

    我需要一个充当队列的简单表 我的 MySQL 服务器限制是我不能使用 InnoDB 表 只能使用 MyISAM 客户 工人将同时工作 他们每次都需要接受不同的工作 我的想法是执行以下操作 伪代码 job lt SELECT FROM que
  • Django Celery 和多个数据库(Celery、Django 和 RabbitMQ)

    是否可以设置与 Django Celery 一起使用的不同数据库 我有一个配置了多个数据库的项目 并且不希望 Django Celery 使用默认数据库 如果我仍然可以使用 django celery 管理页面并读取存储在这个不同数据库中的
  • 像 AMQP 这样的面向消息的中间件在哪些领域有用?

    MOM 面向消息的中间件 解决什么问题 可扩展性 一体化 它们通常在哪些领域使用以及它们通常在哪些领域not used 例如 Google 是否将此类解决方案用于其主要搜索引擎或为 GMail 提供支持 沃尔玛 eBay FedEx 几乎是
  • 在RabbitMQ中如何使用特定键消费多条消息或读取队列中的所有消息或交换中的所有消息?

    我想使用给定的密钥使用来自特定队列或特定交换的多条消息 所以场景如下 发布者通过队列 1 发布消息 1 发布者通过队列 1 发布消息 2 发布者通过队列 1 发布消息 3 发布者通过队列 2 发布消息 4 发布者通过队列 2 发布消息 5
  • queue.js 是如何工作的?

    我一直试图理解如何Mike Bostock 的queue js https github com mbostock queue blob master queue js有效 但我看不出它是如何工作的 我不明白的部分是代码如何设法继续执行回调
  • 使用 Spring Boot 的多个 Rabbitmq 队列

    来自 Spring Boot 教程 https spring io guides gs messaging rabbitmq https spring io guides gs messaging rabbitmq 他们给出了创建 1 个队
  • 从 SQS FIFO 队列中删除消息:接收句柄已过期

    我切换到 FIFO 队列 当我尝试从队列中删除消息时收到此错误消息 Value VALUE for parameter ReceiptHandle is invalid Reason The receipt handle has expir
  • Rabbitmq 忽略 Ubuntu 12 上的配置

    I have rabbitmq server从系统包安装乌班图12 无论我做什么 它似乎都会忽略任何配置文件 网络上的所有内容都表明服务器正在寻找 etc rabbitmq rabbitmq conf 但即使我创建该文件 服务器也报告没有配
  • 如何让Spring RabbitMQ创建一个新的队列?

    根据我对rabbit mq的 有限 经验 如果您为尚不存在的队列创建新的侦听器 则会自动创建该队列 我正在尝试将 Spring AMQP 项目与rabbit mq 一起使用来设置侦听器 但出现错误 这是我的 xml 配置

随机推荐

  • 使用 apply 函数重写循环

    我有以下 3 个函数 我想使其更快 我认为应用函数是最好的方法 但我从未使用过应用函数 所以我不知道该怎么做 任何类型的提示 想法和代码片段将不胜感激 n T dt 是全局参数 par 是参数向量 函数 1 是创建 m 1 n 矩阵的函数
  • 如何将 Heroku PG 转储导入本地计算机

    我正在尝试将生产 Heroku 数据库导入到我的开发机器中 我的本地数据库是 PostgreSQL 首先 我将转储从 Heroku 导出到我的机器 curl o latest dump heroku pgbackups url 然后 我尝试
  • Java 中的事件顺序

    我有两个独立组件的两个事件 但有一个问题 JTabbedPane 的 stateChanged 事件在 JFormattedField 的 focusLost 事件之前触发 有没有办法使 stateChange 事件在 focusLost
  • Qt 中浮点数的强制点而不是逗号

    我有一个非常基本的问题 如何在 Qt 中强制使用浮点数中的点而不是逗号 我的操作系统有法语版本 其他问题 是否可以显示带有千位分隔符空格的数字 尝试这个 QLocale loc QLocale system current locale l
  • WP8:使用ApplicationBar截屏

    如何使用 ApplicationBar 截屏 我使用的例子来自这个分行 https stackoverflow com questions 5553429 wp7 take screenshot from application 但通过这种
  • 方法与类型 - 第 2 部分中的另一种方法具有相同的擦除

    我完全明白这个问题方法与类型中的另一个方法具有相同的擦除 https stackoverflow com questions 1998544 method has the same erasure as another method in
  • 如何在 MySQL 中声明变量以进行普通查询?

    如何为 MySQL 中的普通查询声明变量 e g declare myVar date set myVar something select from someTable where someColumn myVar 我尝试过 语法似乎是错
  • 如何在大型光栅图像上将 Leaflet FlyTo() 与 unproject() 和 GeoJSON 数据结合使用?

    我正在使用 Leaflet 构建故事地图 使用切片为图块的大图像而不是 真实世界 地图数据 我正在使用这个插件 https commenthol github io leaflet rastercoords https commenthol
  • 如何在 Visual Studio 2010 中设置 CUDA 编译器标志?

    经过坚持不懈的得到error identifier atomicAdd is undefined 我找到了编译的解决方案 arch sm 20旗帜 但是如何在 VS 2010 中传递这个编译器标志呢 我已经尝试过如下Project gt P
  • SQL Server:使用数字文字进行计算

    我用浮点计算做了一些测试 以尽量减少精度损失 我偶然发现了一个现象 我想在这里展示并希望得到解释 当我写作时 print 1 0 1 0 60 0 结果是 60 0024000960 当我编写相同的公式并进行显式转换时float print
  • 管理 2 个以上具有依赖关系的 Nodejs 包的开发

    我正在开发 2 个 node js 包 每个包都在自己的 git 存储库中管理 包裹B取决于套餐A 所以我的本地目录结构如下所示 A1 B node modules A2 如果我更改本地代码A1 我想测试一下B在将其推送到公共存储库之前 我
  • AddressBook:区分 kABSourceTypeExchangeGAL 类型的源

    我要问的问题已经在这个网站上被问过很多次了 到以前的线程的链接在我的问题下面 使用 iOS AddressBook 并尝试获取 Exchange GAL 地址簿时 类型名称返回 Nil 我使用的代码 并在之前的所有线程中建议 是 CFStr
  • OpenGL Z 偏置(多边形偏移)限制

    我有两个共面的多边形 我尝试做 glEnable GL POLYGON OFFSET FILL glPolygonOffset 0 1 并期望其中一个明显 位于 另一个之上 这种情况直到大约 70 75 个单位之外 近剪裁平面为 1 远剪裁
  • 后台无限 While True 循环 (Python)

    基本上 我有一些这样的代码 while True number int len oilrigs 49 number money time sleep 1 在此之前我有一个启动屏幕 然而 由于这个 while true 循环 它会阻止它运行实
  • 某些方法上的 WCF REST 基本身份验证

    我在 WCF 4 0 中实现了很多 RESTful GET 和 POST 方法 所有这些都通过 SSL 进行 一些方法的示例 OperationContract WebInvoke UriTemplate Login Method POST
  • scikit加权f1分数计算及使用

    我有一个关于weightedsklearn metrics f1 score 中的平均值 sklearn metrics f1 score y true y pred labels None pos label 1 average weig
  • 使用 NSKeyedArchiver 存储自定义数据模型

    我正在开发一个 RSS 阅读器 它只是一个表格视图 每个单元格显示一个自定义数据模型 RSSEntry 我有一个 NSMutableArray allEntries 其中包含我从服务器获得的所有 RSSEntry 这是 RSSEntry 的
  • Webpack 4:mini-css-extract-plugin + sass-loader + splitChunks

    我有以下示例配置来将 mini css extract plugin 与 Webpack 4 一起使用 entry a js a js scss a scss b js b js scss b scss module rules test
  • 如何解决链接时 __gcov_init 未定义的引用问题

    我现在从事C代码覆盖率研究 遇到以下问题 GCC版本4 4 6 添加了编译器标志CFLAGS coverage和链接器选项LDFLAGS coverage or LOCAL LDLIBS coverage并得到错误 undefined re
  • RabbitMQ 上的 Nack 和拒绝

    我想处理消费者从队列中获取的不成功的消息并将它们重新排队 想象一下我有这样的情况 P gt foo bar baz gt C 其中 foo bar 和 baz 是消息 如果消费者读到baz但出了问题 我可以使用basic reject or