当前位置: 首页 > 知识库问答 >
问题:

删除重复消息的RabbitMQ插件

公羊瀚
2023-03-14

我有一个RabbitMQ队列用于生成文档。基本上,每个文档都有typestate(新建、处理、就绪),因此我使用主题交换和路由键,如type.state。每次文档更改时,我都会将带有上一个文档描述的消息发送到exchange上,并且它工作得很好。

    null

共有1个答案

任飞鸣
2023-03-14

好吧,我读过关于RabbitMQ内部架构的文章,发现这是不可能的。所以要找它的人。

  1. 仅发送邮件正文中的文档ID
  2. 为worker创建键值存储(为此我使用memcached)。键是ID值是为此ID运行的上一个工作者的时间戳。
  3. 当worker接收到消息时,它会检查消息时间戳是否大于键值存储区的时间戳。如果是,则更新存储区中的timestamp并运行任务,否则直接跳过它。
 类似资料:
  • 这就是事情。 我正在使用PHP AMQP从Rabbitmq读取结果队列,以便处理发送的每封电子邮件上的重要信息。完成后,我需要将该消息删除或标记为已写入,以便下次读取队列时,不会得到已处理的消息。 由于Rabbitmq服务器每小时发送超过10.000封电子邮件,每次我读取队列以处理结果发送时,脚本至少可以运行5分钟,以便处理队列中的所有消息,因此在完成后,在这5分钟内会发送数百条新消息。这使得我无

  • 出身背景 我们有一个简单的生产者/消费者风格的应用程序,Kafka作为消息代理,消费者流程作为Kubernetes pods运行。我们定义了两个话题,即话题内话题和话题外话题。属于同一个消费者组的一组消费者pod从主题内读取消息,执行一些工作,并最终在工作完成后将相同的消息(密钥)写出到主题外。 问题描述 我们注意到,在 Kubernetes pod 中运行的消费者向外主题写出了重复的消息。换个说

  • 请注意,在转向您之前,我已经浏览了各种帖子。事实上,我尝试实现中提供的解决方案:基于“notin”条件从数据帧中删除行 我的问题如下。让我们假设我有一个巨大的数据帧,我想删除重复的数据帧。我很清楚我可以使用drop_duplicates,因为这是最快的最简单的方法。然而,我们的老师希望我们创建一个包含重复项ID的列表,然后根据这些值是否包含在上述列表中删除它们。 现在,让我们看看输出: 因此,我得

  • 问题内容: 我在存储的过程中有一个字符串,类似于或 从上面的字符串中,我必须从中删除多个逗号,它必须看起来像 或仅在 then时 。我必须仅使用Sql Server函数。我正在使用Sql Server 2008和.Net 3.5 提前致谢。 问题答案: 该选项适用于仅使用逗号或最多398个连续逗号的字符串。 如果需要更多,在顶部添加额外的2的幂,或者如果需要较少,则从顶部删除2的幂。每个阶段的注释

  • 问题内容: 我有一张看起来像这样的桌子 表格1 ID,名称 如何编写查询以删除所有具有重复名称的行,但保留具有较低ID的行? 问题答案: 如果您使用的是SQL Server 2005或更高版本: 如果使用SQL Server 2000及更低版本