18강 / 20강
마스터 스케줄러 — 워크플로 파일을 돌린다
상태기계 · 비동기 · 재시작
여기서 비로소 기계가 됩니다. 지금까지 만든 장치 열넷을 차례대로 부리고, 그 차례를 파일에서 읽어 옵니다.
스케줄러가 하는 일은 셋뿐입니다 — 다음에 무엇을 할지 고르고, 그것이 끝났는지 지켜보고, 잘못되면 어디로 갈지 안다.
전이표는 자료입니다. 그래서 눈으로 검사할 수 있고, 시험할 수 있고, 그림으로 그릴 수 있습니다.
Python
브라우저에서 실행
다시 켰을 때 — 일지(journal)와 되돌릴 수 없는 것
여덟 시간 공정이 여섯 시간째에 정전됐습니다. 다시 켜면 어디서부터 할까요?
답은 일지입니다. 모든 단계의 시작과 끝을 한 줄씩 파일에 적고 즉시 디스크에 밀어넣습니다.
{"t":"2026-09-14T04:12:03Z","step":"ivt_incubate","phase":"BEGIN","params_sha":"9f3c…"}
{"t":"2026-09-14T04:42:07Z","step":"ivt_incubate","phase":"END","result":{"T_mean":37.02}}
그런데 여기가 이 강의에서 가장 중요한 대목입니다.
넣은 것은 도로 못 꺼냅니다. 어떤 단계가 그런지 미리 적어 두어야 재시작이 안전해집니다.
Python
브라우저에서 실행
🤔 확인 문제
전이표에
**{(p, "fault"): Phase.FAULT for p in Phase} 를 넣는 까닭은?해설 정상 흐름은 한 갈래지만 결함은 어디서나 생깁니다. 이 한 줄이 “결함 전이는 전면적이다” 를 코드로 적은 것입니다.
🤔 확인 문제
정전 뒤 재시작할 때 일지만 믿으면 안 되는 까닭은?
해설 일지로 자리를 찾고, 센서로 사실을 확인해야 합니다. 그 사이에 온도가 식었고 비드가 가라앉았을 수 있습니다.