使用node-amqp模块在Node.js中手动确认

时间:2011-09-12 11:42:42

标签: javascript node.js rabbitmq amqp

我正在通过postwait使用模块node-amqp

我能够发布/订阅队列中的一些消息,但我想手动确认消息。

例如,我想要读取消息,而不是确认消息,然后对此消息执行一些计算,然后发送q.shift()以确认消息并通过第二条消息。

我希望手动使用确认。

实际上我有一个允许订阅旗帜{ack: false}的功能 然后我有一个手动创建q.shift()的功能(如文档中所述)。

但是当我发布2条消息,然后我阅读2条消息而没有确认时,我看到了2条消息。但是我希望订阅者重复一下收到的同样的信息,直到我不承认它为止。

我该如何使用这些方法?

1 个答案:

答案 0 :(得分:1)

我知道这个问题有点陈旧,只是在我寻找问题时才看到它

您必须将“ack-flag”设置为true,以确保您手动确认该消息。 ack:false表示确认将自动完成

queue.subscribe({ack: true}, ...