我已经开始玩 Chronicle 了,我写了一个过程,基本上听 Chronicle 队列并用它做一些事情。所以每次重新启动时,它都会重新处理文件中的所有事件......我想知道最好的方法是什么,这样我就可以坚持我处理过的地方并从那里开始?就像您建议我们如何坚持“索引”一样,有没有办法快进?
问问题
117 次
1 回答
0
执行此操作的常用方法是index
为每个侦听器存储 (您可以将其写入共享内存或磁盘,具体取决于您的延迟要求)。
还有一个称为 的功能MessageHistory
,可以在将队列处理器链接在一起时使用。例如,如果您正在从您的一个侦听器写入输出队列,MessageHistory
则会自动将index
来自源队列的当前存储在输出队列中。使用这种方法,恢复是一个简单的过程,移动到输出队列的末尾,读取源索引,然后移动到源队列中的正确位置继续处理。
在“快进”方面,您可以使用该ExcerptTailer.moveToIndex()
方法跳过您之前处理过的任何消息。
于 2017-12-19T07:53:46.727 回答