我想寫一個函數,在主題中的最後一條消息被讀取後調用回調函數。npm kafka-node:讀完最終消息後關閉客戶
function getCurrentMessages(kafka, topic, cb_done){
// Start consuming from the beginning
var consumer = new kafka.Consumer(new kafka.Client(), [{topic: topic, offset: 0}], {fromOffset: true});
consumer.on('message', function(msg){
// Do something with msg
});
consumer.on('final-message-received', function(){
consumer.close(function(){
cb_done();
});
});
}
這是可能與當前庫嗎?我不想讓消費者接受新消息。
是你的目標只是閱讀所有的題目和退出的消息?如果是這樣,你有沒有考慮使用不同的技術? – Superaghu
另外,爲什麼你需要保持消費者,你完成後如何退出? – Superaghu
我不需要保留消費者。我想知道如何在完成後退出。我仍然想要使用卡夫卡,因爲有些消費者會持久,但其他人需要閱讀快照,這正是我想要做的。 – Dave