2017-12-18 12 views
0

나는 크로니클을 가지고 노는 것을 시작했고 기본적으로 크로니클 큐를 듣고 그걸로 뭔가를하는 프로세스를 썼다. 다시 시작할 때마다 파일의 모든 이벤트를 다시 처리 할 것입니다 ... 내가 처리 한 곳에서 계속 유지할 수있는 최선의 방법은 무엇일까? 어떻게하면 우리가 "색인"을 유지할 것을 추천하겠습니까? 앞으로 나아가는 방법이 있습니까?내가 있던 곳에서 프로세스 큐를 시작 하시겠습니까?

+0

코드를 게시하는 것이 좋습니다. – Verv

답변

0

일반적인 방법은 각 청취자에 대해 index을 저장하는 것입니다 (대기 시간 요구 사항에 따라이 값을 공유 메모리 또는 디스크에 쓸 수 있습니다).

대기열 처리기를 함께 연결할 때 사용할 수있는 MessageHistory 기능이 있습니다. 예를 들어, 청취자 중 하나에서 출력 대기열에 쓰는 경우 MessageHistory은 출력 대기열의 소스 대기열에있는 현재 index을 자동으로 저장합니다. 이 방법을 사용하면 복구는 출력 큐의 끝으로 이동하고 소스 인덱스를 읽은 다음 원본 큐의 올바른 위치로 이동하여 처리를 계속하는 간단한 절차입니다.

'빨리 감기'의 측면에서 이전에 처리 한 메시지를 건너 뛰려면 ExcerptTailer.moveToIndex() 메서드를 사용할 수 있습니다.