위키득계정 ↗
기술

Watchman

Watchman기술
주요 역할
파일 감시와 변경 기록
조회 방식
조건식 기반 파일 질의
대표 활용
변경에 따른 빌드 실행
클라이언트
Python Rust JavaScript 등
Watchman은 파일의 변경을 감시하고 기록하는 서비스다. 감시한 디렉터리의 정보를 질의하거나 조건에 맞는 파일이 바뀔 때 작업을 실행할 수 있어 개발 도구의 변경 감지에 활용한다.

감시 상태를 질의에 활용하기

디렉터리 트리의 색인을 유지해 질의할 때마다 전체 파일 시스템을 처음부터 탐색하는 부담을 줄인다. 특정 시점 이후 변경된 파일이나 접미사, 경로와 깊이, 이름 패턴에 맞는 파일을 대상으로 고를 수 있다. 후보 파일은 조건식으로 다시 걸러 결과에 포함한다.

변경 기록과 실행 조건

파일이 실제로 바뀐 것을 기록하고 일치하는 파일의 변경에 따라 작업을 실행할 수 있다. 자산을 다시 빌드하는 흐름 등이 이에 해당한다. 여러 생성 조건을 함께 쓰면 같은 파일이 중복으로 나올 수 있어 결과 중복을 제거하는 설정도 제공한다.

감시 범위와 연결

감시하는 루트 안의 일부 경로를 상대 루트로 삼아 필요한 범위만 조회할 수 있다. 경로나 이름에 의한 질의가 심볼릭 링크의 대상 디렉터리까지 자동 탐색하는 것은 아니다. 서비스의 감시 상태와 개별 개발 도구가 요청하는 작업을 나누어 구성한다.

관련 문서

Watchexec / Unison / 파일 시스템 / 심볼릭 링크 / JSON / 빌드 시스템