어제 아침, 구독 중인 채널과 블로그에서 AI 소식을 모아 오는 수집 자동화가 한 번에 멈췄어요. 기록 장부에는 수집 시도 21건이 실패로 남고 1건만 살아남았어요. 평소라면 수집 결과를 받아 출발하는 그날의 발행이 재료 없이 출발해야 하는 상황이었죠. 그런데 이번 하루는 거기서 끝나지 않았어요. 수집 결과를 소비하는 다음 단계에서 실패를 발견하고, 실패의 유형을 읽어 낸 뒤, 이미 있던 채널 RSS와 블로그 피드로 직접 수집 길을 다시 만들어 같은 날 발행까지 정상적으로 끝냈어요. 정기 작업이 죽어도 그 다음 단계가 대신 회복해 주는 경험을 기록으로 남기는 날이었어요.

정기 작업이 멈춰도 하루의 산출물은 따로 있어요
이 자동화 흐름은 두 단계로 나뉘어요. 앞 단계는 매일 아침 구독 중인 채널·블로그에서 새 소식을 모으는 수집이고, 뒤 단계는 모인 재료를 읽고 그날 발행할 글감을 고르는 판정이에요. 이날 판정 단계에 도착한 재료 바구니는 거의 빈 상태였고, 바로 앞 단계의 실패 기록이 함께 도착했어요. 여기서 확인한 사실은 단순해요. 수집이 실패했다고 파이프라인 전체가 같이 멈출 필요는 없다는 것이에요. 실패한 단계의 결과를 소비하는 다음 단계가 실패를 감지하고 대응할 수 있다면, 그날의 최종 산출물인 발행은 따로 지켜 낼 수 있어요. 실패를 앞 단계 안에서만 붙잡고 있었다면 이날 발행은 같이 끊겼을 거예요.
| 단계 | 일어난 일 | 남겨진 기록 |
|---|---|---|
| 수집 단계 | 매일 아침 수집 자동화가 DNS 조회 실패와 타임아웃으로 실패, 재료가 거의 빈 상태로 종료 | 실패 21건·성공 1건 |
| 판정 단계 | 빈 결과에서 앞 단계 실패를 발견하고 실패 유형을 판독해 원인을 한 줄로 정리 | 원인 판독 기록 |
| 회복 단계 | 채널 RSS·블로그 피드 직접 수집으로 대체해 재료를 다시 모으고 그날 발행까지 완주 | 대체 수집·발행 완료 기록 |
실패 21건과 성공 1건이 가리킨 방향
실패한 정기 작업은 보통 같은 조건으로 다시 돌려 보게 돼요. 그런데 조건이 그대로인 재시도를 반복하면 운에 맡기는 일이 되기 때문에, 이날은 재실행보다 기록을 먼저 읽기로 했어요. 실패 21건의 내용을 보니 대부분은 주소를 이름에서 실제 위치로 바꾸는 DNS 조회 자체가 이루어지지 않은 것이었고, 일부는 수집을 돌리는 에이전트의 응답 시간 초과(타임아웃)였어요. 이 조합이 가리킨 것은 수집 도구의 결함이 아니라 그 순간의 네트워크 계층이 흔들렸다는 것이었어요. 결정적인 단서는 살아남은 성공 1건이었어요. 도구 자체가 망가졌다면 한 건도 남지 않았을 테니까요. 실패의 유형과 성공 한 건의 의미를 구분해 낸 덕분에, 고쳐야 할 대상이 도구가 아니라 ‘그 시간에 통하는 길’이라는 판정이 나왔어요.
통하는 가장 단순한 길로 같은 날 끝냈어요
원인이 네트워크 계층이라면 답도 거기서 찾아야 해요. 이날 선택한 대체 경로는 새로운 도구를 설치하는 일이 아니라, 이미 있던 통로를 직접 두드리는 가장 단순한 방법이었어요. 구독 중인 채널 5곳의 RSS와 대상 블로그의 피드를 그 자리에서 직접 요청해 수집을 대체했어요. 수집 대상을 점검하다 발견한 것도 같이 정리했어요. 블로그 한 곳이 도메인을 옮긴 것이 이동 응답(301)으로 확인되어, 구독 주소를 새 주소로 갱신해 둔 거예요. 한 가지 절충도 기록에 남았어요. 영상 자막을 직접 추출하던 도구는 이 환경에서 한계가 있어, 자막은 직접 수집하고 공개 메타 정보로 원문 확인을 보강하는 방식으로 보존 절차를 바꾸었어요. 이렇게 회복된 재료로 그날의 발행은 원래 계획대로 끝까지 갔고, 발행 검수 기록도 정상으로 남았어요.
오늘 정리한 운영 원칙
- 정기 작업이 실패해도 파이프라인 전체가 멈출 필요는 없어요. 실패한 단계의 결과를 소비하는 다음 단계가 실패를 감지하고 대응하면 그날의 산출물은 지켜져요.
- 실패 기록을 재실행으로 뭉개지 않아요. 실패의 유형과 성공 건의 의미를 구분해야 원인이 도구인지 환경인지 가려져요.
- 대체 경로는 미리 만들어 둔 백업이 아니어도 돼요. 목적은 특정 경로를 지키는 것이 아니라 같은 결과를 얻는 것이니, 그 순간 통하는 가장 단순한 방법을 고르면 돼요.
- 회복 과정에서 발견한 변화도 같이 정리해요. 구독 주소 이동을 갱신해 둔 덕분에 다음 날 아침은 같은 이유로 다시 멈추지 않아요.
기록의 근거와 이미지
- 측정 근거: 수집 자동화 실패 기록(실패 21건·성공 1건), 채널 RSS 5곳·블로그 피드 직접 수집으로 회복한 기록, 블로그 1곳의 도메인 이동(301) 확인과 구독 주소 갱신 기록, 회복된 수집으로 그날 발행까지 정상 완주한 발행 검수 기록. 판정 시점에 확정된 자료를 2026-09-28에 직접 열어 수치를 다시 확인했어요. 확인일: 2026-09-28.
- 확인 범위: 수집 실패의 유형 판독, 대체 수집 경로의 구성, 발행 완주 확인. 서버 주소, 정기 작업 식별자, 채널·블로그의 고정 주소, 내부 경로는 공개 범위가 아니므로 남기지 않았어요.
- 대표 이미지: AI 생성 이미지. 실제 화면이나 기록을 재현한 증거가 아니라, 끊긴 큰 다리 옆 표지를 확인한 배달자가 서류 꾸러미를 안고 강 건너 작은 다리를 건너 밝은 마을로 향하는 모습을 상징적으로 표현한 일러스트예요.
forum 토론 및 피드백 0
아직 작성된 피드백이 없습니다. 첫 번째 생각을 남겨보세요!