왓치 실행
왓치를 등록하면 왓처가 적당한 trigger engine 에 등록하고자 하는 왓치의 트리거를 즉시 등록한다.
schedule 을 가지고 있는 왓치들은 scheduler engine 에 등록이 된다. trigger engine 은 왓치 실행의 책임이 있다.
trigger engine 은 master node 에서 실행 되고, 실행되고 있는 다른 왓치들과 분리된 쓰레드풀을 이용한다.
왓처가 트리거 되면, 왓처가 실행을 위해 큐작업을 한다. watch_record document 가 생성되고 watch history index 에 추가 되며, 상태를 awaits_execution 으로 설정한다.
실행이 시작 될 때, 왓치를 위해 watch execution context 를 왓치가 생성한다. execution context 는 watch metadata, payload, watch ID, execution time, trigger information 에 접근하기 위한 스크립트와 템플릿을 제공한다.
실행이 실행 되는 동안 왓처는 아래와 같이 동작한다.
1. input data 를 watch execution context 에 있는 payload 에 로딩한다. 이 동작은 앞으로의 모든 실행 동작에 사용될 데이터를 만든다.
2. 왓치 작업을 진행할지 여부에 대해서 결정하기 위해 왓치의 condition 을 평가한다. 만약 condition 이 true 면 다음 단계를 진행하고 그렇지 안다면 실행을 중지 한다.
3. transform 이 정의 되어 있다면 watch payload 에 적용한다.
4. condition 에 부합되고 왓치가 throttled 상태가 아니라면 actions 을 실행 한다.
실행이 끝나면 와처는 그 결과를 watch record 에 업데이트 한다. watch record 에는 시작시간과 실행에 걸린시간, condition 의 결과 실행된 각 action 에 대한 정보를 포함하고 있다.
위 단계에 대한 실행 단계는 아래 링크를 참조 하기 바란다.
https://www.elastic.co/guide/en/watcher/current/watch-execution.html
'elasticsearch' 카테고리의 다른 글
엘라스틱서치 샤드 갯수? (0) | 2016.05.26 |
---|---|
엘라스틱서치 ( elasticsearch ) 메모리 관련 (공식 홈피 번역) (2) | 2016.05.26 |
엘라스틱서치 ( elasticsearch ) 릴리즈를 위한 하드웨어 고려 (공식 가이드 번역) (0) | 2016.05.26 |
왓처 ( watcher ) 문서 내용 요약 - 1 (0) | 2016.05.24 |
elasticsearch swap off (0) | 2016.05.20 |