본문으로 이동
PrestoMake
뒤로

예약 실행이 중복 글을 만들지 않게 설계한 방법

예약 자동화는 네트워크 지연이나 컴퓨터 재시작 때문에 같은 실행이 다시 시작될 수 있습니다. “오늘 글이 있는가”만 확인하면 하루 두 번 발행하는 일정에서는 정상 두 번째 글까지 막을 수 있습니다.

날짜가 아니라 실행 슬롯을 식별합니다

오전과 오후처럼 각 실행에 고유한 슬롯 키를 만듭니다. 슬롯 키, 작업 ID, 선정 주제와 상태를 원장에 기록합니다. 같은 슬롯이 다시 실행되면 새 주제를 고르지 않고 기존 작업의 상태부터 확인합니다.

재시도는 새 작업이 아닙니다

원고 작성이 끝났는데 브라우저 단계가 실패했다면 같은 작업 ID로 재개합니다. 새로운 ID와 새 원고를 만들면 어느 결과가 최종본인지 알기 어려워집니다. 완료 로그와 산출물이 계약을 통과할 때만 실패 지점 다음부터 진행합니다.

공개 URL을 최종 잠금으로 씁니다

같은 슬롯에 검증된 공개 URL이 있으면 새 발행을 하지 않고 해당 페이지의 공개 품질만 다시 확인합니다. 발행 버튼 클릭 기록보다 실제 공개 주소와 게시물 식별자가 강한 완료 증거입니다.

제목뿐 아니라 주제도 비교합니다

표현이 다른 제목이라도 핵심 키워드와 공식 출처가 같으면 중복일 수 있습니다. 최근 글의 주제, 핵심 대상과 근거 문서를 함께 비교합니다. 단순 문자열 일치만으로 판단하지 않고 애매한 경우에는 사람 검토로 넘깁니다.

잠금의 만료 조건을 정합니다

진행 중 상태가 영원히 남으면 다음 실행을 막습니다. 마지막 활동 시각, 담당 단계와 재개 가능 여부를 기록합니다. 다만 시간이 지났다는 이유로 기존 작업을 폐기하고 새 글을 발행하지는 않습니다.

하루 두 번 발행하면서 배운 점

처음에는 “오늘 발행했으면 종료”라는 단순한 중복 방지가 충분해 보였습니다. 발행 시간을 하루 두 슬롯으로 늘리자 이 규칙은 오후의 정상 작업까지 중복으로 오해했습니다. 반대로 재실행 때 새 작업 ID를 만들면 같은 주제의 원고가 두 벌 생겼습니다.

그래서 날짜가 아니라 실행 슬롯과 공개 URL을 기준으로 바꿨습니다. 구현은 조금 복잡해졌지만, 재실행 버튼을 누를 때마다 새 글이 나갈지 불안해하지 않아도 된다는 점이 가장 컸습니다. 멱등성은 제게 기술 용어라기보다 안심하고 재시도할 수 있게 해주는 운영 장치입니다.


글 공유:

이전 글
AI 블로그 자동발행에 적용한 4단계 품질 게이트
다음 글
웹 편집기 자동화에서 실제로 실패한 7가지