DOCS/troubleshooting/250909_slack_briefing_failure.md

61 lines
2.3 KiB
Markdown

# 9시 슬랙 브리핑 실패 (2025-09-09)
## 문제 상황
오전 9시 정기 슬랙 브리핑이 전혀 발송되지 않음
## 발생한 에러들
### 1. 9:00:01 - 크론 트리거 실행 실패
- **경로**: rb8001 컨테이너 `/send-daily-summary` API 엔드포인트
- **로그**: `{"time":"2025-09-09 09:00:01,930","level":"INFO","module":"main","msg":"Cron triggered daily summary"}`
- **에러 1**: skill-email (포트 8501) HTTP 500 에러
- 사용자: U091UNVE41M, U0925SXQFDK
- 원인: Gmail 토큰 만료 `Token has been expired or revoked`
- **에러 2**: Slack DM 전송 실패
- 메시지: `channel_not_found`
- 대상: 전희재(U091UNVE41M), 김종태(U0925SXQFDK), HanYong Hwang
### 2. 9:01 - APScheduler 실행 실패
- **원인**: 메서드명 불일치
- 호출 시도: `send_daily_summary()`
- 실제 메서드: `send_daily_summary_dm()`
- **결과**: AttributeError로 완전 실패
## 근본 원인
### 봇 토큰 설정 문제
- **현재 설정**: `SLACK_BOT_TOKEN=xoxb-9417291383105...` (Company-X 봇)
- **필요한 토큰**: `xoxb-9073915808149...` (로빙팀 봇, 현재 주석 처리됨)
- **문제**: Company-X 봇 토큰으로 로빙팀(T0925SXPS4D) 워크스페이스 접근 시도
## 해결 방안
### 1. 환경변수 분리
```bash
ROBEING_SLACK_BOT_TOKEN=xoxb-9073915808149... # 로빙팀용
COMPANYX_SLACK_BOT_TOKEN=xoxb-9417291383105... # Company-X용
```
### 2. 코드 수정 필요
- dm_skill.py: 워크스페이스별 적절한 토큰 선택 로직
- main.py: APScheduler 메서드명 수정 (`send_daily_summary_dm`)
### 3. Gmail 재인증
- 영향 사용자의 Gmail 토큰 재발급 필요
## 영향 범위
- rb8001, skill-email, skill-news 서비스
- 모든 브리핑 수신자 (3명 이상)
## 2025-09-10 수정 사항
### 적용된 변경사항
1. **.env 토큰 분리**: ROBEING_SLACK_BOT_TOKEN, COMPANYX_SLACK_BOT_TOKEN 환경변수 추가
2. **main.py 248줄**: send_daily_summary() → send_daily_summary_dm() 수정 완료
3. **dm_skill.py 21줄**: ROBEING_SLACK_BOT_TOKEN 우선 사용 설정
4. **COMPANY_X_SLACK_BOT_TOKEN 제거**: COMPANYX_SLACK_BOT_TOKEN으로 통일
### 현재 스케줄 상태
- 네이버 헤드라인: 평일 09:10 (C09C98KK2TT)
- Daily Summary DM: 평일 09:01 (개인 DM)
- Company-X 뉴스: 평일 10:00 (C09C98KK2TT)