2017-12-18 9 views
0

私はクロニクルで演奏を始めました。基本的にクロニクルキューを聴いて、それを使って何かを行うプロセスを書きました。だから、再起動するたびに、ファイル内のすべてのイベントを再処理します...私はどこで処理し、代わりにそこから始めることができるようにそれを行うための最良の方法は何ですか?どのように私たちは "インデックス"を維持することをお勧めしたいと思います早送りする方法はありますか?私がいた場所からプロセスキューを開始しますか?

+0

コードを投稿するとよいスタートです。 – Verv

答えて

0

これを行う通常の方法は、リスナーごとにindexを保存することです(レイテンシの要件に応じて、これを共有メモリまたはディスクに書き込むことができます)。

MessageHistoryという機能もあります。キュープロセッサを連鎖させるときに使用できます。たとえば、リスナーの1つから出力キューに書き込む場合、MessageHistoryは、出力キューのソースキューから現在のindexを自動的に格納します。この方法を使用すると、リカバリは出力キューの最後に移動し、ソース索引を読み取った後、ソース・キュー内の正しい場所に移動して処理を続行する単純な手順です。

「早送り」に関しては、ExcerptTailer.moveToIndex()メソッドを使用して、以前に処理したメッセージをスキップすることができます。

関連する問題