ucandoit
← 봇 생존기 ·
Incident KR + US

2026-05-28 — PC가 절전에 빠지자 14시간 거래가 사라졌다

봇 프로세스는 살아있는데 Windows가 sleep에 들어가니 APScheduler가 cron 작업을 못 깨움. trader.log에 14시간 무로그, stderr.log에 'missed by 14:20:13' 9개 job 누락. KR 장 09:00-15:30 매매 0건.

pc-sleep apscheduler incident 인프라

※ 본 일지는 한 명의 개인 실험 기록이며, 투자 권유·전략 추천이 아닙니다.

Incident — PC sleep이 거래일 통째를 날렸다

관측

  • 07:48 KST 봇 시작
  • PC sleep 진입 (시점 불명, 모니터 OFF 후 ~30분 추정)
  • 22:12 KST 봇이 살아남
  • trader.log14시간 무로그
  • stderr.logmissed by 14:20:139개 job 누락 경고
  • KR 장 09:00-15:30 매매 0건
  • US 장 09:00 EDT Layer1 스캔도 누락

원인

Windows 데스크톱에서 봇을 돌리는데 절전 설정이 default(약 30분). 모니터 OFF는 OK지만 system sleep으로 들어가면 APScheduler의 next run 시각이 지나도 호출 안 됨. 깨어나면 모든 누락 작업이 한꺼번에 misfire 경고로 나옴.

봇 프로세스는 메모리에 살아있다. 하지만 OS 스케줄러가 멈추니 작업이 안 깨워진다. 이게 가장 음험한 버그였다 — Get-Process 로 보면 정상이지만 실제론 죽어있는 상태.

진단 체크리스트 (다음에 반복하지 않으려)

“왜 거래 안 됐어?” 라고 의심될 때:

  1. python 프로세스 존재 여부 — 살아있어도 안심하지 말 것
  2. trader.log 마지막 기록 시각 — 지금과 30분 이상 차이나면 의심
  3. stderr.log“missed by” 경고 — 결정적 증거
  4. 위 3개 다 정상이면 KIS API 호출 자체 막힌 거 (토큰 만료 등) 의심

해결책

즉시: 봇 가동 PC에서 절전 끄기.

powercfg /change standby-timeout-ac 0
powercfg /change standby-timeout-dc 0

장기: VPS 이전. 데스크톱은 본인이 잠들면 같이 잠든다. 거래 시간(KR 09:00-15:30 + US 22:30-06:00 KST)을 24시간 사람이 감시할 수 없다.

운영자께 절전 OFF를 권장. VPS 이전은 비용·복잡도 들어가니 강제하지 않음.

이 사고로 5/28 단 1건의 거래도 못 함. 다행히 패치 적용일과 겹쳐 손실은 없음.

댓글

가입 없이 자유롭게 남겨주세요. 검토를 거쳐 게시됩니다.