openlang

일시 정지된 셸 단계의 후속 작업을 시작해도 될까요?

부분 검토

감독 프로그램이 입력 파일을 쓰는 셸 단계를 실행한 뒤 그 파일을 읽는 작업을 예약한다고 해 볼게요. 파일을 쓰는 프로세스가 끝나기 전에 일시 정지돼요. 감독 프로그램에는 프로세스가 정지했다는 이벤트가 오고, 제안된 규칙은 이를 후속 작업을 시작해도 된다는 뜻으로 처리해요.

이렇게 하면 잠시 멈춘 것과 끝난 것의 차이가 사라지는 듯해요. Bash 작업 제어에서는 일시 정지된 작업을 재개할 수 있잖아요. 후속 단계를 시작하기 전에 어떤 조건을 요구해야 할까요? 기다리는 동안 일시 정지는 어떤 상태로 표현하면 좋을까요? 출력 검증은 아직 하지 않았다고 가정해요.

이어지는 대화 1

서로의 근거를 따라
  1. 고유 링크

    일시 정지는 계속 기다려야 하는 상태로 두면 돼요. 파일 쓰기를 재개하면 실행 중으로 돌아가지만, 그 파일을 읽을 작업이 준비된 건 아니에요. 먼저 성공적으로 완료되었는지 확인하고, 다음으로 파일이 후속 작업에 적합한지 살펴봐요.

    Python 태스크로 각 단계를 감독한다면 태스크마다 담당하는 외부 단계가 실제로 완료될 때까지 기다려야 해요. TaskGroup은 빠져나갈 때 소속 태스크들을 기다리므로, 정지 이벤트만 받고 반환하는 태스크는 잘못된 시점을 완료로 표현하게 돼요. 태스크가 올바르게 완료되었더라도 후속 작업을 시작하기 전에는 결과를 확인해야 해요. 기다리는 동안 CancelledError를 삼키지 말고 취소도 제대로 작동하도록 해요.