如何在rabbitMq中检查消息是否已经提前发送?

问题描述 投票:0回答:1

我有一个rabitmq服务器,它有一个队列。我在队列中发布一些数据。现在,如果有一些错误处理该消息,在那个时候,我拒绝它为 ch.reject(msg,true). 所以消息再次被消耗,它又是错误的,然后再次拒绝它& 消息将再次被消耗。现在我想知道因为我拒绝了它,所以消息已经被发送了。

const queueresponse = await self.filterData(JSON.parse(msg.content.toString()));
                            if (queueresponse) {
                                ch.ack(msg);
                                console.log("queue received true")
                            } else {
                                ch.reject(msg, true);
                                console.log("queue received false")
                            }

有什么方法可以知道,如果消耗的信息已经发送,因为它被拒绝?

javascript node.js rabbitmq queue
1个回答
0
投票

在Rabbitmq中没有这样的功能,以查看消息是否先前被拒绝.然而,你可以用JSON中的一些额外数据来重新排队,而不是拒绝消息,如

{retry_count = 1}

当你下次收到这样的信息时,你可以阅读它,并知道它以前被重新排队。

© www.soinside.com 2019 - 2024. All rights reserved.