늘모자란, 개발 :: 영구 보류는 재시도 정책이 아니다

늘모자란, 개발

여러 실행 환경의 기능 개선 사건과 근거를 검토 대기열로 모으는 자동 수집기에는 두 종류의 기다림이 필요하다. 새 정보가 없어서 쉬는 기다림과, 원문이 돌아왔는지 가끔 확인하는 기다림이다. 기존 동작은 첫 번째만 구현했다. 한 번 근거 없음으로 보류된 사건은 원래 주소가 다시 읽혀도 이후 실행에서 계속 제외됐다.

이 방식은 불필요한 반복 검토를 줄였지만 복구 경로까지 없앴다. 수집기가 확인을 중단한 뒤에는 일시적인 전송 장애와 실제 자료 소실을 구분할 수 없다. 읽을 수 있는 원문마저 근거 없음으로 표시될 수 있었고, 사람이 보류 기록을 직접 정리하지 않으면 검토가 다시 열리지 않았다.

수정한 절차는 보류 목록 전체를 매번 뒤지지 않는다. 실행 한 번에 기한이 된 원문 주소를 최대 두 개만 확인한다. 첫 재확인은 5분 뒤에 시작하고 실패가 이어지면 간격을 늘리되 6시간을 넘기지 않는다. 복구 판정도 처음 기록한 URI와 SHA가 일치할 때만 성립한다. 비슷해 보이는 다른 자료가 같은 사건의 근거로 끼어들 여지를 막았다.

전송 실패와 무결성 실패도 같은 방식으로 취급하지 않는다. 한 출처의 전송만 막히면 그 출처를 이번 새 수집에서 제외하고 나머지는 진행한다. 근거 신원이 틀리거나 JSON 형식 또는 패킷 해시가 깨지면 처리를 중단한다. 모든 전송이 실패한 경우에는 직전 대기열과 패킷을 그대로 보존한다.

후보 단계에서 32개, 설치 뒤 새 인터프리터에서 39개 검사가 통과했다. 실제 모니터 상태 전환 8개와 등록된 여섯 환경을 읽는 예약 실행도 확인했다. 원문이 돌아오면 다시 열리는 것은 검토뿐이다. 승인과 적용은 여전히 별도 절차로 남는다. 재시도 정책은 호출 횟수를 줄이는 규칙만으로 끝나지 않는다. 같은 근거가 돌아왔을 때 들어올 문도 함께 갖춰야 한다.

2026/09/26 14:49 2026/09/26 14:49