o2o-negosium-original/lps/docs
민헌 47c64eaf8b fix(lps): 워커 graceful shutdown — 신호 핸들러·잡 마무리 유예·정리 격리
- SIGINT/SIGTERM 핸들러 등록: cancel 대신 stop 이벤트 set → 새 잡 클레임 중단,
  하던 잡은 마무리 후 자연 종료(트레이스백 없이 exit 0). 신호 재수신 시 강제 종료
- 종료 유예 LPS_SHUTDOWN_GRACE_SEC(기본 60s) 초과 시 강제 취소(잡은 lease 만료 후 재큐)
- 워커/리퍼가 예외로 죽으면 기존처럼 전파하되, finally에서 남은 태스크 취소·완주 대기 후 정리
- 리스너·어댑터 정리를 항목별 try/except로 격리 — 하나 실패해도 나머지 Chrome 정리
- 웜업(bg) 태스크는 종료 신호 즉시 취소해 어댑터 락 해제
- compose lps-worker에 stop_grace_period: 75s (기본 10s면 드레인 전 SIGKILL)
- 운영 가이드에 워커 종료 절차 문서화

검증: SIGTERM/SIGINT 실기동 테스트 — graceful 로그 후 exit 0, 기존 테스트 26개 통과

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 09:03:57 +09:00
..
api.md fix(lps): 대역폭 비용 정확화 — CDP 실제 전송 바이트로 계측 2026-07-09 20:27:11 +09:00
architecture.md docs(lps): 아키텍처에 API 멀티코어 스케일·커넥션 풀 자동산정(6-1) 추가 2026-07-10 08:35:48 +09:00
database.md feat(lps): price_history 몰별 최저가 스냅샷(by_mall JSONB) 2026-07-09 14:15:58 +09:00
decision-openmarket-crawler.md docs(lps): 오픈마켓 크롤러 유지 여부 논의 문서 2026-07-09 21:51:21 +09:00
operations.md fix(lps): 워커 graceful shutdown — 신호 핸들러·잡 마무리 유예·정리 격리 2026-07-10 09:03:57 +09:00