docs: finalize calendar holiday control details
This commit is contained in:
parent
c3ef06ebc0
commit
9250e1c148
@ -58,12 +58,16 @@ tags: [calendar, scheduler, holiday, blackout, plans]
|
||||
- `skill-calendar`에 `GET /api/workday/check` 엔드포인트를 추가한다.
|
||||
- 입력: `date`, `timezone`, `country`, `blackout_ranges`.
|
||||
- 출력: `is_workday`, `is_blackout`, `should_run`, `reason`.
|
||||
- 응답 계약은 아래 최소 형태로 고정한다.
|
||||
- `{"date":"YYYY-MM-DD","country":"KR","timezone":"Asia/Seoul","is_workday":bool,"is_blackout":bool,"should_run":bool,"reason":"holiday|blackout|workday|weekend"}`
|
||||
- 결과 캐시를 1일 단위로 저장해 반복 조회 부하를 줄인다.
|
||||
|
||||
### Phase 3: rb8001 실행 가드
|
||||
- `db_loader`에서 잡 등록 시 `schedule_policy`를 실행 함수 인자로 전달한다.
|
||||
- 각 `_run_*_with_logging` 진입점에서 공통 가드 함수를 먼저 호출한다.
|
||||
- `should_run=false`면 작업 본문을 실행하지 않고 스킵 로그를 남긴다.
|
||||
- 스킵 로그 최소 필드는 아래로 고정한다.
|
||||
- `job_name`, `job_type`, `scheduled_at`, `policy_mode`, `date`, `country`, `timezone`, `should_run`, `reason`
|
||||
|
||||
### Phase 4: 운영 API/관리 UI 정합화
|
||||
- `rb8001 /api/scheduler/jobs` 응답에 `schedule_policy`를 포함한다.
|
||||
@ -74,6 +78,11 @@ tags: [calendar, scheduler, holiday, blackout, plans]
|
||||
- 단위 테스트: 휴일/평일/블랙아웃 케이스 판정 테스트.
|
||||
- 통합 테스트: 잡 실행 시 스킵/실행 분기 테스트.
|
||||
- 운영 검증: 연휴 날짜(2026-02-16~2026-02-18) `should_run=false` 확인.
|
||||
- 고정 테스트 케이스:
|
||||
- `2026-02-16` ~ `2026-02-18` -> `should_run=false`
|
||||
- 일반 평일 1건 -> `should_run=true`
|
||||
- 토요일 1건 -> `should_run=false`
|
||||
- 수동 블랙아웃 날짜 1건 -> `should_run=false`
|
||||
|
||||
## 6. 기대효과
|
||||
- 연휴/공휴일 기간의 자동 실행 충돌을 제거한다.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user