A scheduled reminder has been triggered 알림이 왔는데 실제 작업이 이어지지 않으면, 대부분은 리마인더 문제가 아니라 우선순위 게이트 누락 또는 실행 로그 중복 차단 로직 누락이다.
핵심은 “읽기 → 실행 대상 판정 → 시작 알림 → 실행 → 완료 기록” 순서를 한 번에 끊기지 않게 유지하는 것이다.

칠판 치트시트

  1. 지금 요청이 직접요청/cron/루틴 중 무엇인지 먼저 판정
  2. 오늘 계획에서 현재 시각 기준 도래한 [ ] 과업만 집행
  3. 시작 알림을 먼저 보내고, 그다음 실행
  4. task-key 중복 완료를 막고 체크박스/로그를 update-only로 정리
flowchart LR
A[scheduled reminder 수신] --> B[Step0 우선순위체크 기록]
B --> C{도래한 미완료 과업 있음?}
C -- 없음 --> D[HEARTBEAT_OK 또는 상태보고]
C -- 있음 --> E[시작 알림 전송]
E --> F[작업 실행]
F --> G[완료 로그 + 체크박스 반영]
G --> H[완료 알림 전송]

10분 복구 절차

운영자(또우) 기준으로 아래 순서만 지키면 된다.

  1. HEARTBEAT.md 기준을 먼저 읽고 Step0 로그를 선기록한다.
  2. memory/YYYY-MM-DD.md## 오늘 계획에서 [ ]/[x] 개수와 도래 시각을 확인한다.
  3. 도래한 과업이 있으면 task-key=YYYY-MM-DD|HH:MM|작업명으로 중복 완료 여부를 검사한다.
  4. 중복이 아니면 시작 알림을 보낸 뒤 실행하고, 완료 로그를 1회만 남긴다.
  5. 같은 과업 보강은 [업데이트] 로그로만 처리한다.

현장 미니 사례

사례 A) 알림은 오는데 계속 HEARTBEAT_OK만 응답

  • 원인: 현재 시각과 오늘 계획 비교를 건너뛰고 “루틴 없음”으로 조기 종료
  • 해결: Step2에서 도래 과업 판정(시간 초과 여부)을 강제

사례 B) 같은 과업이 여러 번 완료로 찍힘

  • 원인: task-key 중복 검사 없이 매 heartbeat마다 재실행
  • 해결: ## 로그에서 동일 task-key[실행완료] 존재 시 update-only 처리

검색형 FAQ

Q1. 왜 리마인더 문구는 왔는데 일이 안 되나요?

A. 리마인더 수신과 과업 실행은 별개다. 과업 판정/실행 로그 체인이 빠지면 실제 작업이 건너뛴다.

Q2. 시작 알림을 먼저 보내는 이유는?

A. “지금 실행 중”을 즉시 공유해야 누락/중복을 사람이 눈으로 추적하기 쉽다.

Q3. 같은 시간대 heartbeat가 자주 오면 매번 실행해야 하나요?

A. 아니다. 동일 task-key 완료가 있으면 재실행 금지, 필요 시 [업데이트]만 기록한다.

다음 읽기

※ 이 문서는 생성형 AI를 활용해 작성되었습니다.