DOCS/journey/debug/260318_스케줄러_재기동후_브리핑실패_디버그.md

27 lines
1.6 KiB
Markdown

---
tags: [debug, scheduler, briefing, headlines, coldmail, rb8001]
---
# 스케줄러 재기동 후 브리핑 실패 디버그
**작성일**: 2026-03-18
**상태**: closed
## 정의
- 2026-03-18 오전 스케줄러는 실제로 실행됐지만, `naverworks_daily`, `coldmail_daily`, `daily_headlines`가 정상 완료되지 않았습니다.
## 기준
- 스케줄 성공은 `트리거됨`이 아니라 `필수 env/토큰/호출 계약이 맞아 실제 전송까지 완료됨`으로 판단합니다.
- 확인 근거는 `rb8001` 컨테이너 로그, 런타임 env, 실제 강제 실행 결과입니다.
## 적용
- `NAVERWORKS_COMPANY_EMAIL` 누락으로 `naverworks_daily`, `coldmail_daily`가 실패했습니다.
- `OpenAIHandler.extract_keywords()``custom_prompt` 인자를 받지 않아 `daily_headlines`가 실패했습니다.
- `daily_headlines``naverworks_briefing`은 채널별 Slack bot token을 고정 env가 아니라 `slack_channel -> slack_workspace.bot_token` 경로로 찾아야 했습니다.
- `naverworks_briefing`, `coldmail` 계열은 host network 환경인데 `SKILL_SLACK_URL` 기본값이 `http://skill-slack:8502`여서 로컬 호출에 실패했습니다.
- `coldmail` 계열 일부 경로는 `SERVICE_API_KEY`가 아니라 `SKILL_SLACK_API_KEY`만 읽어서 `401 API key is missing`가 발생했습니다.
## 디버그 결론
- 문제는 스케줄러 자체가 아니라 `재기동 후 드러난 런타임 env 누락 + Slack token 선택 경로 불일치 + LLM 호출 계약 불일치`였습니다.
- 위 값과 계약을 현재 SSOT에 맞춘 뒤 강제 실행으로 다시 검증했습니다.