← 질문 목록
#96깊이 0
부모 작업이 취소되면 자식은 어떻게 되는가?
부모 작업이 취소되면 모든 자식 작업에도 취소가 전파된다. 자식은 같은 수명 경계 안에서 정리되고 부모보다 오래 남지 않는다.
- 1. 부모에서 자식으로: 취소를 아래로 전파한다
- 2. 자식에서 부모로: 실패를 위로 전파한다
- 3. 부모에서 형제 자식으로: 일반 Job이면 함께 취소한다
부모는 모든 자식이 끝나야 완료된다. 이 규칙 덕분에 호출 범위를 벗어난 작업이 남는 것을 막고 예외와 자원을 한곳에서 관리할 수 있다.
자식 하나의 실패를 격리해야 한다면 SupervisorJob이나 supervisorScope를 쓴다. 이때도 부모 취소는 모든 자식에게 전파된다.