docs: record scheduler recovery and debug
This commit is contained in:
parent
c1a3854591
commit
7eea592636
@ -110,6 +110,7 @@
|
||||
- [디버그 인덱스](./debug/README.md) – 구현 직전 단계에서 문제 지점과 상태 차이를 고정하는 보조 문서 계층
|
||||
- [콜드메일 IR 분석이 첫 번째 PDF를 잘못 선택하는 상태](./debug/260313_coldmail_ir_분석대상_오선택_디버그.md)
|
||||
- [콜드메일 IR 분석 로딩 메시지가 완료 후 갱신되지 않는 상태](./debug/260313_coldmail_ir_로딩메시지_미갱신_디버그.md)
|
||||
- [스케줄러 재기동 후 브리핑 실패 디버그](./debug/260318_스케줄러_재기동후_브리핑실패_디버그.md)
|
||||
|
||||
## Worklog Journey
|
||||
|
||||
@ -119,6 +120,7 @@
|
||||
- Company X 내부문서 RAG 근거응답 구현 및 시나리오 검증 – `worklog/260312_companyx_내부문서_rag_근거응답_구현및시나리오검증.md`
|
||||
- LLM 모델 SSOT 1차구현 및 로컬검증 – `worklog/260316_llm_model_ssot_1차구현_및_로컬검증.md`
|
||||
- gpt-5-mini 전환과 skill-news provider-agnostic 정리 – `worklog/260316_gpt5_mini_전환과_skill_news_provider_agnostic_정리.md`
|
||||
- 브리핑 스케줄 런타임 정합화 및 강제실행 검증 – `worklog/260318_브리핑스케줄_런타임정합화_및_강제실행검증.md`
|
||||
|
||||
## Scenarios
|
||||
|
||||
|
||||
26
journey/debug/260318_스케줄러_재기동후_브리핑실패_디버그.md
Normal file
26
journey/debug/260318_스케줄러_재기동후_브리핑실패_디버그.md
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
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에 맞춘 뒤 강제 실행으로 다시 검증했습니다.
|
||||
@ -18,3 +18,5 @@ tags: [debug, journey, documentation, index]
|
||||
- 상태: `closed (fixed)`
|
||||
- [콜드메일 IR 분석 로딩 메시지가 완료 후 갱신되지 않는 상태](./260313_coldmail_ir_로딩메시지_미갱신_디버그.md)
|
||||
- 상태: `open`
|
||||
- [스케줄러 재기동 후 브리핑 실패 디버그](./260318_스케줄러_재기동후_브리핑실패_디버그.md)
|
||||
- 상태: `closed`
|
||||
|
||||
32
journey/worklog/260318_브리핑스케줄_런타임정합화_및_강제실행검증.md
Normal file
32
journey/worklog/260318_브리핑스케줄_런타임정합화_및_강제실행검증.md
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
tags: [rb8001, scheduler, briefing, headlines, coldmail, worklog]
|
||||
---
|
||||
|
||||
# 브리핑 스케줄 런타임 정합화 및 강제실행 검증
|
||||
|
||||
## 관련 문서
|
||||
- [스케줄러 재기동 후 브리핑 실패 디버그](../debug/260318_스케줄러_재기동후_브리핑실패_디버그.md)
|
||||
|
||||
## 왜
|
||||
- 2026-03-18 오전 스케줄러는 실행됐지만 `naverworks_daily`, `coldmail_daily`, `daily_headlines`가 런타임 값과 호출 계약 불일치로 실패했습니다.
|
||||
|
||||
## 무엇
|
||||
- `workspace-config/runtime.env`에 `NAVERWORKS_COMPANY_EMAIL`, `NAVERWORKS_BRIEFING_CHANNEL_ID`, `SKILL_SLACK_URL`를 추가했습니다.
|
||||
- `OpenAIHandler.extract_keywords()`가 `custom_prompt`를 받도록 맞췄습니다.
|
||||
- `headlines_workflow`, `naverworks_briefing`은 채널 기준 DB 조회로 Slack bot token을 고르도록 수정했습니다.
|
||||
- `coldmail_processor`, `coldmail_workflow`, `slack/coldmail_service`는 `SKILL_SLACK_API_KEY`가 없을 때 `SERVICE_API_KEY`를 fallback으로 사용하도록 수정했습니다.
|
||||
|
||||
## 어떻게 검증했는지
|
||||
- `rb8001`를 `docker compose up -d --build --force-recreate rb8001`로 재배포했습니다.
|
||||
- 런타임 env에서 `NAVERWORKS_COMPANY_EMAIL=info@company-x.partners`, `NAVERWORKS_BRIEFING_CHANNEL_ID=C09C98KK2TT`, `SKILL_SLACK_URL=http://localhost:8502`, `SERVICE_API_KEY=skill-slack-api-key-2025` 반영을 확인했습니다.
|
||||
- 강제 실행 결과:
|
||||
- `NanerWorksBriefingSkill().process_briefing()` 예외 없이 종료
|
||||
- `run_headlines_workflow('C09C98KK2TT')` 결과 `{'success': True, 'message_ts': '1773793679.992769', 'errors': []}`
|
||||
- `coldmail_daily` 재실행에서 기존 `401 API key is missing`는 재현되지 않음
|
||||
|
||||
## 확인된 사실과 남은 범위
|
||||
- 브리핑/헤드라인 스케줄 실패 원인이던 env, token, LLM 계약 문제는 복구됐습니다.
|
||||
- `coldmail_daily`는 스케줄 호출 자체는 복구됐지만, 이번 실행에서도 `IR attachment 선택 실패`, `No PDF attachments processed` 같은 업무 로직 경고는 남았습니다.
|
||||
|
||||
## 결론
|
||||
- 이번 수정으로 오전 브리핑 계열 스케줄의 런타임 정합성과 강제 실행 검증은 닫혔고, 남은 콜드메일 경고는 별도 도메인 로직 이슈로 분리됐습니다.
|
||||
Loading…
x
Reference in New Issue
Block a user