过期的消息不会从 RabbitMQ 中删除

2024-03-23

我通过生产者向 RabbitMQ 发送一条普通消息,然后发送第二条消息expiration属性分配给一个值。然后使用rabbitmqctl list_queues命令我监视消息的状态。

我发现如果我先发送一条普通消息,然后发送一条消息expiration, the rabbitmqctl list_queues总是向我显示队列中待处理的 2 条消息。当我消耗它们时,我只得到一个。

另一方面,如果我只发送一条消息expiration,一开始我看到该消息,然后在正确的过期时间之后,我发现它被删除了。

我的问题是,第一种情况实际上是消息占用空间吗?或者说这是一个界面错误?

我的rabbitMQ版本是:rabbitmq-server.noarch -> 3.1.5-1.el6


看起来您错过了一些有关此功能的文档。如果您阅读了关于每条消息 TTL(过期)的 RabbitMQ 文档 https://www.rabbitmq.com/ttl.html,您将注意到以下针对您所看到的行为的警告(已添加重点):

Caveats

虽然消费者永远不会看到过期的消息,但只有当过期的消息到达队列的头部时,它们才会真正被丢弃(或死信)。当设置每个队列的 TTL 时,这不是问题,因为过期的消息始终位于队列的头部。然而,当设置每条消息的 TTL 时,过期的消息可以在未过期的消息后面排队,直到后者被消耗或过期。因此,此类过期消息所使用的资源将不会被释放,并且它们将被计入队列统计信息(例如队列中的消息数)。

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

过期的消息不会从 RabbitMQ 中删除 的相关文章

  • jsctypes - 使用 SHChangeNotifyRegister 处理 MEDIA/DRIVE 事件时出现问题

    我正在尝试在 Firefox 中使用 js ctypes 来接收 USB 媒体 驱动器通知 但我遇到了一些问题 我无法判断是否是因为我对 Win32 API 非常缺乏经验 或者对 js ctypes 很糟糕 或两者 我首先改编了我在亚历山大
  • springrabbitmq:无法将id设置为属性?

    我有一个属性文件 其中包含队列 其值为queue name 如果我在其他请使用该属性 那么它可以工作 但如果我在 id 上使用它 那么它会失败
  • RabbitMQ 上的 Nack 和拒绝

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

    到目前为止 我见过的大多数 F 消息传递示例都使用 2 4 种消息类型 并且能够利用模式匹配将每条消息定向到其正确的处理函数 对于我的应用程序 由于处理和所需参数的不同性质 我需要数百种独特的消息类型 到目前为止 每个消息类型都是其自己的记
  • 消息循环如何使用线程?

    我有点困惑 想知道我是否被误导了 在另一篇文章中 我被告知 只有当你显式创建新线程时才会创建它们 C 程序默认是单线程的 当我打开未在 ollydbg 中显式创建新线程的程序时 我多次注意到通常有 2 个线程在运行 我想了解消息循环如何在不
  • 即使设置了 cookie,RabbitMQ 身份验证也会失败

    我最近在运行 lattePanda 的 Windows 10 上安装了带有 ErlanOTP 的rabbitmq 我运行rabbitmqctl status并收到以下错误 C Program Files RabbitMQ Server ra
  • 捕获由纯 C++ dll 中的 MFC 应用程序生成的 Windows 消息

    首先 这可能吗 我有一个与某些硬件接口的第三方 dll 它是用MFC编写的 我 从 dll 供应商处 收到了一个示例 Visual Studio 2010 解决方案 该解决方案只有一个项目 调用相关第三方 dll 的 MFC 应用程序 ex
  • RabbitMQ 管理插件窗口呈现为空白页面

    I have installed Erlang RabbitMQ and configured the management plugin as per the instructions on the website https www r
  • RabbitMQ:如何创建和恢复备份

    我是 RabbitMQ 的新手 我需要一些帮助 如何备份和恢复到RabbitMQ 以及我需要保存哪些重要数据 谢谢 如果您安装了管理插件 您可以在Overview页 在底部你会看到导入 导出定义您可以使用它来下载代理的 JSON 表示形式
  • 将 sensu-client 连接到服务器时 AMQP 连接的 bad_header

    我已经安装了 sensu 和厨师社区食谱 但是 sensu客户端无法连接到服务器 导致rabbitmq连接错误 尝试连接时消息超时 这是详细的客户端日志 来自 sensu client log 的日志 timestamp 2014 07 0
  • socket.io 中的消息排序

    socket io 是否保证 on 回调将按照消息发出的顺序调用 Node js 是单个事件循环 所以是的 但是你还有另一个问题 考虑你和你的客户端之间的延迟 如果两个客户端发送消息 到达服务器的第一条消息将首先被处理 所以如果第一个客户端
  • 从 Java/Spring 检索 RabbitMQ 队列中未确认消息的数量

    有没有办法返回未确认的消息数 我正在使用此代码来获取队列中的消息数 DeclareOk declareOk amqpAdmin getRabbitTemplate execute new ChannelCallback
  • Celery 广播 vs RabbitMQ 扇出

    我最近一直在使用 Celery 但我不喜欢它 它的配置很混乱 过于复杂并且文档记录很少 我想用 Celery 从单个生产者向多个消费者发送广播消息 让我困惑的是 Celery 术语和底层传输 RabbitMQ 术语之间的差异 在 Rabbi
  • RabbitMQ 3.1.3 和丢失的时间戳头

    如果消息中缺少时间戳头 是否可以将代理配置为插入时间戳头 因此 如果发布客户端没有添加时间戳标头 代理是否可以插入与交易所收到消息的时刻相匹配的时间戳值 我应该在哪里寻找该配置 或者这是一个坏主意 截至2015年 原来的问题有了新的答案 这
  • ejabberd 16.06 + mysql 5.5.50,消息历史记录不保存

    我使用ejabberd 16 06 mysql 5 5 50 消息历史记录没有保存 我的 ejabberd yml MySQL server odbc type mysql odbc server freldo odbc port 3306
  • Django Celery 和多个数据库(Celery、Django 和 RabbitMQ)

    是否可以设置与 Django Celery 一起使用的不同数据库 我有一个配置了多个数据库的项目 并且不希望 Django Celery 使用默认数据库 如果我仍然可以使用 django celery 管理页面并读取存储在这个不同数据库中的
  • Smalltalk:消息的发送者是什么?

    在smalltalk中 一切都是通过向接收者对象发送消息来发生的 其语法通常遵循以下格式接收者消息 其中接收者是消息发送到的对象 现在我忍不住想知道 smalltalk 消息的发送者是什么 考虑以下smalltalk 语句 aMorph c
  • skpy 向包含用户提及的组发送消息

    我需要在发送给 Skype 群组的消息中提及特定用户 我可以使用 skpy 轻松发送消息 但不知道如何在消息中提及某人 sk Skype userid paasword SendMsgTo sk chats group id SendMsg
  • Spring RabbitMQ - 在具有 @RabbitListener 配置的服务上使用手动通道确认

    如何在不使用自动确认的情况下手动确认消息 有没有办法将其与 RabbitListener and EnableRabbit配置风格 大多数文档告诉我们使用SimpleMessageListenerContainer随着ChannelAwar
  • 使用多线程使用rabbitmq消息队列(Python Kombu)

    我有一个带有单个队列的 RabbitMQ 交换 我希望创建一个运行多个线程并尽快通过该队列工作的守护进程 工作 涉及与外部服务的通信 因此每个消费者内部都会发生相当多的阻塞 因此 我希望有多个线程都处理来自同一队列的消息 我可以通过在主线程

随机推荐

  • 如何在 Swift 中获取 UIScrollView 垂直方向?

    如何在 VC 中获得向上 向下滚动 滑动方向 我想在我的 VC 中添加 UIScrollView 或其他内容 可以查看用户是否向上或向下滑动 滚动 然后隐藏 显示UIView取决于它是否是向上 向下手势 如果您使用UIScrollView那
  • 使用 python/bcrypt 将密码保存为用户集合中 mongodb 中的加盐哈希

    我想生成一个加盐密码哈希并将其存储在名为 users 的 MongoDB 集合中 如下所示 users doc username James password
  • 汇编编码 strdup. Malloc 在共享库中调用

    我有一个问题 调用 malloc 时无法编译 strdup 当我不调用 malloc 时 它会完美地编译我的共享库 所以如果有人可以帮助我 那就太好了 这是我的代码 BITS 64 DEFAULT REL global my strdup
  • 如何修复 Chunk.modulesIterable 的弃用警告?

    我是的维护者外部 svg sprite loader https github com karify external svg sprite loader我注意到 当将它与 webpack 5 一起使用时 我收到以下警告 DEP WEBPA
  • 如何编写将所有参数转发给委托命令的包装器 powershell 命令?

    wrapper应该只是打电话delegate 转发传递给包装器的参数 Given wrapper ps1 1 2 Whendelegate ps1 内容 param one two write host one one and two tw
  • 通过连接池发出 http 请求时 Akka Flow 挂起

    我正在使用 Akka 2 4 4 并尝试从 Apache HttpAsyncClient 迁移 未成功 下面是我在项目中使用的代码的简化版本 问题是 如果我向流程发送超过 1 3 个请求 它就会挂起 到目前为止 经过6个小时的调试 我什至找
  • 基于模板的主题观察者模式 - 我应该使用 static_cast 还是dynamic_cast

    我指的是这篇文章使用模板实现主题 观察者模式 http www codeproject com KB architecture observer with templates aspx 我做了一些修改 代码如下 template
  • 找到 O(n) 中所有成员都在列表中的最大区间 [重复]

    这个问题在这里已经有答案了 我在一次采访中被问到这个问题 给定一个整数列表 我们如何找到其所有成员都在给定列表中的最大区间 例如 给定列表 1 3 5 7 4 6 10 那么答案将是 3 7 因为它具有 3 到 7 之间的所有元素 我试图回
  • 使用多个 websocket 连接

    我有一个网站 每月有几千次访问 而且还在不断增长 我正在向我的网站添加新的交互式功能 现在我正在处理一个问题 我应该为所有功能使用一个 websocket 连接 还是应该为我的应用程序的每个交互功能创建新的 websocket 连接 我正在
  • 移动名称中带有空格的文件

    我在 unix 中有一个文件 名称为 这是我的文件 xls 我想将它从一个文件夹移动到另一个文件夹 我写了以下几行 fileName this is my file myDate 20121125 mv FIRST DIR fileName
  • 使用ajax将Flash视频加载到div中

    我有一个客户希望能够从视频缩略图播放列表中进行选择 并且它会替换页面上已有的视频 我还需要观察加载时间 因此认为如果使用 ajax 单击每个视频 则请求该视频会更好吗 我是 ajax 新手 所以不确定这是否是最好的选择 我的页面如下 div
  • /arm64/Image 到 zImage 或 boot.img

    大家好 我一直在试图弄清楚如何使我的 android 内核成为 zImage 或 boot img 我试图弄清楚但没有运气 有人告诉我 zImage 不适用于我的设备 因为它是 arm64 内核 但我想我会再问一次 如果是这种情况 我会尝试
  • 在 MongoDB Spring Data 中使用多个方面

    我想在一个聚合中运行多个方面以节省数据库往返次数 这是我的弹簧数据代码 final BalancesDTO total this mongoTemplate aggregate newAggregation Get all fund tra
  • 对 ole db 提供程序“microsoft.ace.oledb.12.0”的临时访问已被拒绝。您必须通过链接服务器访问该提供商

    当尝试在sql server中导入excel文件时 出现上述错误 转到链接服务器 gt 提供程序 然后双击您在 OPENROWSET 查询中使用的提供程序 然后检查是否 禁止临时访问 是否启用如下所示 您还可以在注册表中的 HKEY LOC
  • 了解递归函数的工作原理

    正如标题所解释的 我有一个非常基本的编程问题 但我还无法理解 过滤掉所有 极其聪明的 为了理解递归 必须先理解递归 网上各种帖子的回复我还是不太明白 了解当面对不知道我们不知道的事情时 我们可能会倾向于提出错误的问题或错误地提出正确的问题我
  • Nodejs为Redis请求设置超时

    我编写了一个简单的服务 使用 redis 将数据存储在内存中或从磁盘中获取数据 然后存储在内存中 并希望为慢速请求设置超时 我希望找到一种方法发出带有超时的获取请求 以防止该请求挂起 任何帮助表示赞赏 因此 您可以在这里做一些事情 但是 首
  • MonoDroid 的 MVVM 框架?

    MonoDroid 已经有 MVVM 框架了吗 或者 MonoDroid 是否能够自行绑定属性和命令 例如用于 WPF Silverlight WP7 的 MVVM Light Toolkit 还没有 MVVM 但是有 MonoCross
  • 带 POST 参数的 FacesContext 重定向

    我需要使用 POST 参数将页面重定向到外部站点 但我无法使用普通 HTML
  • OpenCV 变换矩阵:仿射与透视扭曲

    您好 我目前正在研究图像转换 但有一件关于扭曲的事情我不明白 即有什么区别warpAffine http docs opencv org 2 4 modules imgproc doc geometric transformations h
  • 过期的消息不会从 RabbitMQ 中删除

    我通过生产者向 RabbitMQ 发送一条普通消息 然后发送第二条消息expiration属性分配给一个值 然后使用rabbitmqctl list queues命令我监视消息的状态 我发现如果我先发送一条普通消息 然后发送一条消息expi