← 홈Setup Tip

Setup Tip

Setup Tip — 재시도는 범위를 넓히지 말고 같은 최소 계약으로

자동화가 실패하면 현재 상태를 다시 확인한 뒤, 동일한 최소 단위 작업을 정해진 횟수만큼만 재시도하세요. 범위를 넓히거나 확인 없이 성공으로 처리하는 것이 실제 사고를 만듭니다.

실패 후 첫 행동은 재실행이 아니라 재확인

실패 신호는 대개 요청 결과만 알려줄 뿐, 대상 시스템이 실제로 어떤 상태인지는 알려주지 않습니다. 요청이 절반쯤 반영된 뒤 응답만 끊긴 경우도 흔합니다. 그래서 재시도 전에 대상의 현재 상태를 직접 조회해야 합니다. 파일이 이미 존재하는지, 레코드가 이미 생성됐는지, 배포가 이미 반영됐는지를 먼저 읽고 나서 다음 행동을 정합니다.

같은 계약을 유지한 채 예산 안에서만 재시도

재시도는 처음과 똑같은 입력, 똑같은 대상, 똑같은 성공 조건으로 수행합니다. 실패했다고 해서 대상 범위를 넓히거나, 옵션을 추가하거나, 정리 작업을 함께 끼워 넣지 마세요. 그렇게 하면 실패 원인이 바뀌어 버려 무엇이 문제였는지 영원히 알 수 없게 됩니다. 시도 횟수는 2~3회로 고정하고, 간격은 지수적으로 늘리며, 각 시도의 결과는 같은 형식으로 기록합니다. 가능하면 요청에 멱등 키를 붙여 중복 실행이 부작용을 두 번 만들지 않게 합니다.

예산을 다 쓰면 조용히 성공 처리하지 않기

정해진 횟수를 모두 소진했다면 그 작업은 실패입니다. 종료 코드를 실패로 두고, 마지막으로 관찰한 상태와 시도 횟수를 남기고 멈추세요. 부분적으로 성공한 부분이 있다면 무엇이 반영됐고 무엇이 남았는지 명시합니다. 애매한 성공보다 명확한 실패가 다음 담당자에게 훨씬 안전합니다.

안전하게 재시도할 수 있는 작업만 자동화

모든 작업이 재시도에 안전하지는 않습니다. 결제, 외부 공개 게시, 되돌릴 수 없는 삭제처럼 부작용이 누적되는 작업은 자동 재시도 대상에서 빼고, 상태 확인만 자동화한 뒤 판단은 사람에게 넘기는 편이 낫습니다.