【问题标题】:RabbitMq check if message exists in queueRabbitMq 检查队列中是否存在消息
【发布时间】:2023-04-08 22:23:01
【问题描述】:

我正在寻找了解 RabbitMq 消息是否已处理或是否存在于队列中的最佳方法。我有我的 Web 管理,它向我的队列发送大量流量的消息。我的应用程序在 1 分钟内检查数据库,如果消费者在数据库中插入新数据,但如果没有插入,则应用程序显示错误,即未插入数据。问题是在高需求的情况下延迟可能会很长,延迟之后可以插入数据,Web管理的用户不知道数据是否插入,用户可以尝试向队列发送另一条消息。我需要知道是否可以检查队列中是否存在消息或知道消息是否已处理。

【问题讨论】:

    标签: c# rabbitmq


    【解决方案1】:

    最简单的答案....不,您不能这样做,因为它违反了队列的体系结构。它的构建是为了发布消息并不断使用它。

    如果您只使用 1 个消费者,唯一的机会是中断它,消费所有消息并将它们重新发布到队列并检查是否消费了所需的消息。请注意,它会弄乱队列!我认为更好的解决方案是另一个队列,您的消费者可以在自己的队列上发布“已完成”消息,您的原始发布者可以使用该消息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-18
      • 1970-01-01
      • 2018-11-23
      • 2011-01-13
      • 1970-01-01
      • 2012-09-14
      • 2013-08-09
      • 1970-01-01
      相关资源
      最近更新 更多