자동발행 '전체 완료' 오표시, 원인 수리부터 13편 공개 확인까지의 기록
2026년 7월 26일, 자동발행 프로그램이 13편 중 7편만 올리고도 화면에는 '전체 완료'를 띄웠어요. 원인은 목록이 비어 있지만 않으면 통과시키던 실행 기준이었고, 세 지점에서 같은 숫자를 세도록 고친 뒤 같은 라운드에서 나머지 6편까지 발행해 서로 다른 공개 주소 13개를 확인했습니다.
이 글은 그 사고가 어떻게 시작해 어떻게 끝났는지를 시간순으로 남긴 기록이에요. 이전 판은 7편에서 멈춘 시점까지만 적혀 있었는데, 이번 판에는 발행 완료까지 반영해 정리했습니다.
완료 화면이 떠 있는 동안 발행은 7편에서 멈춰 있었어요
프로그램이 완료라고 판단한 근거는 공개된 글 13개를 세어봤기 때문이 아니었어요. 처리할 작업이 하나도 남지 않았다는 상태 하나만 보고 완료라고 적은 거예요. 7편이 올라간 뒤 남은 일이 없었으니, 프로그램 입장에서는 끝난 게 맞았습니다.
진짜 문제는 나머지 6편이 처음부터 작업 목록에 실리지도 않았다는 점이에요. 목록에 없으니 실패로도 안 잡히고 남은 일로도 안 잡혀요. 빨간 오류 한 줄 없이, 화면 글자만 보면 흠잡을 데 없는 실행처럼 보였습니다.
자동화에서 가장 위험한 실패가 이런 쪽이에요. 실패한 게 아니라 시도 자체를 안 한 항목은 어디에도 기록되지 않거든요. 사진 백업이 권한 없는 폴더를 조용히 건너뛰고 성공으로 끝나는 경우, 예약 발송이 주소가 잘못된 연락처를 목록에서 빼고 발송 완료만 띄우는 경우가 전부 같은 구조입니다. 대부분의 완료 표시는 시도한 것 중 실패가 없다는 뜻이지, 해야 할 걸 다 했다는 뜻이 아니에요.
원인은 '비어 있지만 않으면 통과'라는 헐거운 기준이었어요
한 회차의 정상 구성은 처음부터 정해져 있었어요. 블로그스팟 7편, 티스토리 5편, 네이버 1편, 합쳐서 13편입니다. 그런데 실행 부분에는 '목록이 비어 있으면 중단'이라는 조건 하나만 있었어요. 0개와 13개만 구분했고, 7개는 어느 쪽에도 걸리지 않고 그대로 통과한 거죠.
사람으로 치면 13칸짜리 장보기 목록 중 7칸만 담아 왔는데, 계산대에서 '빈 카트는 아니네요' 하고 통과시킨 셈이에요.
고치는 방향도 여기서 정해졌습니다. 완료 화면 끝에 경고 문구를 하나 붙이는 방식은 쓰지 않았어요. 그건 이미 잘못 만들어진 목록을 마지막에 겨우 붙잡아 보겠다는 뜻이라, 다음에는 다른 모양으로 또 새어 나갑니다. 목록이 잘못 만들어지는 바로 그 자리를 고치는 쪽을 골랐어요.
입구부터 공개 주소까지 같은 숫자를 세 번 세게 했어요
한 곳에서만 세면 그 앞뒤에서 새는 걸 못 잡아요. 그래서 글이 만들어지는 입구, 올리기 직전, 공개된 뒤까지 세 지점이 전부 같은 숫자 13을 보도록 바꿨습니다.
글을 만들기 전
7+5+1=13 구성이 맞는지 먼저 셉니다. 하나라도 빠지면 생성을 시작하지 않고 멈춰요. 일부 플랫폼만 하겠다고 사람이 직접 지정했을 때만 범위를 줄일 수 있습니다.
올리기 직전
완성된 결과물이 13개인지, 각각 어느 블로그 자리에 들어갈지까지 셉니다. 개수만 맞고 한 블로그에 두 편이 몰려 있으면 통과되지 않아요.
공개된 뒤
실제로 열리는 공개 주소가 13개인지 셉니다. 같은 주소가 두 번 들어가 개수만 채워지는 경우를 막으려고, 중복을 걸러낸 다음 세요.
숫자가 13이 아니면 이제 완료라는 말이 나오지 않습니다. 대신 '블로그스팟 7편 완료, 6편 미발행'처럼 어느 자리가 몇 편 비었는지 그대로 적혀요.
검사 통과와 13편 공개 완료는 시점을 나눠 적었어요
고친 직후에는 자동검사 52개와 하위검사 2개가 통과했어요. 이건 판정 기준이 제대로 작동하는지를 본 결과입니다. 7편만 담긴 목록을 일부러 넣으면 멈추는지, 같은 주소가 중복으로 들어오면 걸러내는지를 확인한 거예요. 이 시점의 공개 글은 여전히 7편이었습니다.
발행 완료는 그다음이에요. 같은 라운드에서 나머지 6편을 마저 발행했고, 2026년 7월 26일자 발행 결과 기록에는 공개 완료 13/13, 서로 다른 공개 주소 13개, 공개 글 전수 확인 통과 13·실패 0이 남았습니다.
그래서 이 사고에는 '완료'가 두 번 나와요. 하나는 검사가 통과한 시점이고, 하나는 13편이 실제로 공개된 시점입니다. 이 둘을 한 문장으로 뭉뚱그리는 게 애초의 사고와 똑같은 실수라서, 기록에서도 따로 적었습니다.
블로거를 쓰신다면 공개 글 개수를 목록으로 다시 셀 수 있어요
완료 문구를 믿는 대신 결과 목록을 직접 세는 방법은, 블로그스팟(블로거)에서는 공식 기능으로 열려 있어요. 2026년 7월 28일에 아래 두 문서를 열어 확인한 내용입니다.
- 게시물 정보에는 글이 실제로 열리는 주소(url)와 상태(status) 항목이 있어요. 발행된 글과 임시저장 글을 같은 개수로 뭉뚱그리지 않고 구분할 수 있습니다.
- 게시물 목록 조회(Posts: list)는 상태값으로 발행됨(live)·임시저장(draft)·예약(scheduled)을 나눠 부를 수 있어요. 공개된 글만 세고 싶으면 live만 부르면 됩니다.
- 한 번에 받아오는 개수를 정하는 maxResults 항목이 따로 있어서, 목록 한 페이지에 보이는 개수를 전체 개수로 착각하지 않게 주의해야 해요.
이 방법이 통하지 않는 자리도 있어요. 위 목록 조회는 블로거 전용이라, 티스토리와 네이버 글은 이번에도 공개 주소를 하나씩 직접 열어 확인했습니다. 그리고 개수만 맞추지 말고 서로 다른 주소인지까지 같이 보셔야, 같은 글이 두 번 세어져 채워진 것처럼 보이는 경우를 거를 수 있어요.
확인한 기준과 남은 한계
2026년 7월 28일에 블로거 공식 문서 두 건을 열어 게시물의 주소·상태 항목과 목록 조회의 상태 구분, 개수 제한 항목을 대조했습니다. 13편 공개 완료·서로 다른 공개 주소 13개·전수 확인 통과는 2026년 7월 26일자 발행 결과 기록으로 확인했어요.
- Google for Developers - Blogger API v3 게시물(Posts) 참조 문서 (2026-07-28 확인)
- Google for Developers - Blogger API v3 게시물 목록 조회(Posts: list) (2026-07-28 확인)
남은 한계도 그대로 적어요. 자동검사 52개 같은 수치와 발행 결과 기록은 내부 프로그램의 기록이라, 독자가 같은 숫자를 재현해 볼 수는 없습니다. 내부 실행 경로와 계정·인증 정보는 공개하지 않아요. 바깥에서 확인 가능한 부분은 공개된 글 주소와 위 공식 문서까지입니다.
이번 수리로 남은 건 두 가지예요. 7편에서 멈추면 멈췄다고 말하는 프로그램, 그리고 실제로 세어서 확인한 13편의 공개 주소입니다. 완료라는 말은 이제 세어본 다음에만 씁니다.
댓글
댓글 쓰기
질문은 자유롭게 남겨주세요. 광고성 댓글, 비방, 개인정보가 포함된 댓글은 삭제될 수 있습니다.