삼심SAMSIM

점검 가이드 · 개발

예약 발송·정기 결제가 한 건 실패로 전부 멈출 때 막는 법

2026-10-24 기준

세 줄 요약
  • 정기 작업은 보통 여러 손님을 한 줄로 처리해서, 앞에서 한 건이 터지면 뒤가 모두 멈출 수 있습니다.
  • 한 건씩 따로 감싸서 실패를 기록하고 넘어가게 하고, 같은 일을 두 번 하지 않게 표시를 남겨야 합니다.
  • 실패를 알려 주는 장치가 없으면 손님이 항의할 때까지 모릅니다. 알림과 다시 돌리기 방법을 함께 만드세요.

어떤 일이 생기나요

매일 아침 9시에 예약 문자 100건을 보내는 기능이 있다고 해 봅시다. 3번째 손님의 전화번호가 비어 있어 오류가 나면, 많은 코드가 거기서 작업 전체를 끝내 버립니다. 나머지 97명은 문자를 못 받고, 화면에는 아무 표시도 없습니다.

정기 결제도 같습니다. 카드가 만료된 손님 한 명 때문에 그날 결제가 모두 빠지면, 매출이 비는 것은 물론이고 다음 날 한꺼번에 다시 돌리다가 두 번 결제되는 일까지 생길 수 있습니다.

왜 생기나요

  • 여러 건을 한 반복문으로 처리하면서, 한 건의 오류가 전체 작업을 멈추게 짜여 있습니다.
  • 외부 서비스(문자·결제사)가 늦게 답하면 작업 제한 시간이 지나 중간에 잘립니다. 서버리스 환경은 한 번 실행할 수 있는 시간이 정해져 있는 경우가 많습니다.
  • "이미 처리함" 표시가 없어서, 다시 돌리면 앞에서 성공한 손님에게 또 보내거나 또 결제합니다.
  • 실패해도 아무에게도 알리지 않아, 며칠 뒤에야 알게 됩니다.

막는 방법

  1. 한 건씩 따로 처리합니다. 한 손님에서 오류가 나면 그 손님만 "실패"로 기록하고 다음 손님으로 넘어가게 합니다.
  2. 처리한 건마다 상태(대기·성공·실패·결과 모름)를 데이터베이스에 남깁니다. 다시 돌릴 때는 "대기"와 "실패"만 고릅니다.
  3. 결제처럼 돈이 걸린 일은 주문번호 같은 고유 번호를 함께 보내, 같은 번호로 두 번 요청해도 한 번만 처리되게 합니다. 응답이 끊겨 결과를 모르면 실패로 적지 말고 그 번호로 결제사에 조회해 맞춥니다.
  4. 한 번에 너무 많이 하지 말고, 몇십 건씩 나눠 여러 번에 걸쳐 처리합니다.
  5. 작업이 끝나면 "성공 몇 건, 실패 몇 건"을 관리자에게 메일이나 메신저로 보냅니다. 실패가 있거나 작업이 아예 돌지 않았으면 꼭 알리게 합니다.

내 AI 에게 고쳐 달라고 하기

내 AI 에게 그대로 붙여 넣기이 프로젝트에서 정기적으로 도는 작업(크론, 예약 발송, 정기 결제 등)을 모두 찾아 줘. 각 작업에 대해 (1) 한 건이 오류 나면 나머지가 계속 처리되는지 (2) 다시 돌리면 이미 성공한 건을 또 처리하는지 (3) 실행 시간 제한에 걸릴 수 있는지 (4) 실패하면 누가 어떻게 아는지를 확인해 줘. 고칠 때는 한 건씩 오류를 따로 잡아 기록하고 넘어가게, 처리 상태를 저장해서 두 번 처리하지 않게 해 줘. 결제는 결과를 모를 때 실패로 적지 말고 주문번호로 조회하게 해 줘. 다른 기능은 바꾸지 마.

고친 뒤 확인하기

  • 시험용 데이터에 일부러 잘못된 손님(빈 전화번호, 만료 카드)을 하나 섞고 작업을 돌려, 나머지가 모두 처리되는지 봅니다.
  • 같은 작업을 바로 한 번 더 돌려, 성공한 손님에게 두 번 보내거나 결제되지 않는지 봅니다.
  • 실패 알림이 실제로 오는지 확인합니다.

자주 묻는 질문

작업이 아예 안 돌았는지는 어떻게 알 수 있나요?

작업이 시작하고 끝날 때마다 시간을 기록해 두고, 정해진 시간에 기록이 없으면 알리게 만들면 됩니다. 별도의 감시 서비스(정해진 시간에 신호가 안 오면 알려 주는 도구)를 쓰는 방법도 있습니다.

실패한 건은 자동으로 다시 시도해도 되나요?

문자처럼 한 번 더 가도 큰일이 아닌 것은 몇 번까지 다시 시도해도 됩니다. 결제는 같은 주문번호로만 다시 요청하고, 결과를 모를 때는 먼저 조회해야 두 번 결제되지 않습니다.

내 코드에 이런 문제가 있는지, AI 세 개가 따로 봐 드려요.

삼심은 Claude·GPT·Gemini 가 서로 모르게 점검하고 지적을 교차 확인해, 개발부터 법률까지 8개 분야의 고칠 순서와 수정 지시문을 드립니다.

함께 보면 좋은 글

이 글은 일반적인 정보이며 법률·보안 자문이 아닙니다. 서비스마다 상황이 다르니 고치기 전에 확인하세요.