1
我正在使用rabbitmq的項目。隊列我有(工作讓稱它爲「testq」獲得不時約35000項必須要工作node-amqp和async ack
基本上(很短):
var q = new Queue();
q.subscribe('testq', { ack: true, prefetchCount: 100 }, function(doc, object, queueOptions, originalDocument) {
//do some action
originalDocument.acknowledge();
});
我現在的問題是:我想一次獲得100條消息(預取計數= 100),但是我什麼時候知道所有100條消息都已經過處理,以便我可以確認並獲得接下來的100條消息?「做某個動作塊」是異步的:(
感謝您的任何建議!
所有的消息是否會同時開始,或者下一個消息會等到您回覆之前的消息嗎? – MiniGod
郵件按順序逐個處理,以便發佈。預取計數表示您的客戶可以保存不超過100個未確認的消息。所以,如果你有10條消息,另外90條不是,你只會得到10條新消息。請注意,如果您使用自動確認'prefetch count'忽略。 – pinepain
然後什麼是並行處理消息的最佳方式?多次調用'q.subscribe()'x? – MiniGod