有没有办法确定特定消息之前的消息数量,RabbitMQ提供“你之前的N个消息”计数器?

时间:2015-10-26 09:36:28

标签: rabbitmq message-queue

我想在处理他们的消息时(而不是在他们完成时)向用户(消息发布者)提供反馈。

理论上我可以接收所有消息,计算并重新安排它们。这将是愚蠢的,因为在新消息(最初的最后一条消息)之后重新安排新消息之前,由于所有消息将立即处理新到达的消息。

有没有办法用RabbitMQ确定特定消息之前的消息数?

1 个答案:

答案 0 :(得分:1)

我担心服务器端目前无法找到特定消息之前发布的消息数,尽管rabbitmq提供了HTTP API,它返回当前队列中的消息数。

您必须在客户端维护此统计信息(如计数器或其他内容),最好是在发布方端。但请确保仅发布一次消息,以避免重复计数或以这种方式实现计数器(为每条消息保留唯一标识符),以避免多次计算同一消息(如果允许重新发布)。

之前曾提出类似问题:
RabbitMQ - Get total count of messages enqueued