从我的位置开始进程队列?

时间:2017-12-18 20:52:48

标签: chronicle chronicle-queue

我已经开始玩编年史了,我写了一个基本上听编年史队列并用它做某事的过程。因此,每次重新启动时,它都会重新处理文件中的所有事件......我想知道最好的方法是什么,这样我可以坚持处理并从那里开始呢?就像你怎么建议我们坚持"索引"有没有办法快速前进?

1 个答案:

答案 0 :(得分:0)

执行此操作的常用方法是为每个侦听器存储index(您可以将其写入共享内存或磁盘,具体取决于您的延迟要求)。

还有一个名为MessageHistory的功能,可以在将队列处理器链接在一起时使用。例如,如果您正在从其中一个侦听器写入输出队列,则MessageHistory将自动将源队列中的当前index存储在输出队列中。使用此方法,恢复是移动到输出队列末尾,读取源索引,然后移动到源队列中的正确位置以继续处理的简单过程。

就“快进”而言,您可以使用ExcerptTailer.moveToIndex()方法跳过之前处理过的所有邮件。