我正在通过postwait使用模块node-amqp。
我能够发布/订阅队列中的一些消息,但我想手动确认消息。
例如,我想要读取消息,而不是确认消息,然后对此消息执行一些计算,然后发送q.shift()
以确认消息并通过第二条消息。
我希望手动使用确认。
实际上我有一个允许订阅旗帜{ack: false}
的功能
然后我有一个手动创建q.shift()
的功能(如文档中所述)。
但是当我发布2条消息,然后我阅读2条消息而没有确认时,我看到了2条消息。但是我希望订阅者重复一下收到的同样的信息,直到我不承认它为止。
我该如何使用这些方法?
答案 0 :(得分:1)
我知道这个问题有点陈旧,只是在我寻找问题时才看到它
您必须将“ack-flag”设置为true,以确保您手动确认该消息。 ack:false表示确认将自动完成
queue.subscribe({ack: true}, ...