1.7 KiB
1.7 KiB
설 연휴 전 스케줄러 잡 일시 정지 처리
날짜: 2026-02-14
작성자: happybell80
관련 파일: rb8001/app/router/scheduler_endpoint.py, rb8001/app/state/scheduler_repository.py, rb8001/app/scheduler/db_loader.py
문제 상황
- 설 연휴(2026-02-16~2026-02-18) 기간에는 워킹데이 자동 작업을 중지해야 한다.
- 현재 스케줄은
mon-fricron 기반이며 공휴일/연휴를 자동 판정하지 않는다. - 연휴 전 즉시 중지를 위해 운영 API로 활성 잡을 전부 비활성화했다.
해결 방안
GET /api/scheduler/jobs로 활성 잡 목록 확인 후 7개 잡 식별.- 각 잡에
PATCH /api/scheduler/jobs/{name}+{"enabled": false}적용. - 적용 대상:
coldmail_daily,companyx_news,daily_diary,daily_headlines,dividend_collector,naverworks_daily,valuation_premia_recalculator. - 검증 1:
GET /api/scheduler/jobs결과{"total":0,"jobs":[]}확인. - 검증 2:
GET /api/schedule/list결과 내부 상태 점검 잡(scheduler_status_check)만 남음 확인. - 검증 3:
docker logs rb8001 --tail 80에서 7개 잡Removed job ...로그 확인.
구현 완료
- 2026-02-14 14:26 KST, 운영 API 호출로 스케줄러 업무 잡 일시 정지 완료.
- 서비스 상태:
rb8001컨테이너healthy유지.
교훈
mon-fri는 공휴일을 배제하지 못하므로 연휴 운영 요구를 충족하지 못한다.- 연휴 운영은 즉시 차단(블랙아웃) 기능과 상시 워킹데이 판정 기능을 분리해 설계해야 한다.
- 연휴 직전 대응은 API 기반 일괄 비활성화 절차를 표준화하면 재현 가능성이 높아진다.