Docs: skill-publish 거짓 성공 메시지 문제 문서화
- 문제: 큐 추가를 게시 성공으로 오해 - 해결: 30초마다 상태 체크, response_url 업데이트
This commit is contained in:
parent
94ab0a943b
commit
b689d940c4
55
troubleshooting/250908_skill_publish_false_success.md
Normal file
55
troubleshooting/250908_skill_publish_false_success.md
Normal file
@ -0,0 +1,55 @@
|
||||
# skill-publish 거짓 성공 메시지 문제
|
||||
|
||||
## 문제 정의
|
||||
skill-publish가 큐에만 추가하고 200 OK 반환하는데, rb8001이 이를 실제 게시 성공으로 착각해 사용자에게 거짓 성공 메시지를 보내는 문제
|
||||
|
||||
## 발생일: 2025-09-08
|
||||
## 작성자: Claude & happybell80
|
||||
|
||||
## 1. 증상
|
||||
- Slack에 "✅ '뉴스제목' 게시 완료!" 메시지 표시
|
||||
- 실제로는 Squarespace 로그인 실패로 게시 안 됨
|
||||
- 큐에 4개 대기 중, 모두 queued 상태
|
||||
- 사용자는 게시됐다고 믿음
|
||||
|
||||
## 2. 현재 동작 흐름
|
||||
1. 사용자가 Slack에서 "홈페이지 게시" 버튼 클릭
|
||||
2. rb8001이 skill-publish POST /publish 호출
|
||||
3. skill-publish가 큐에 추가 후 즉시 200 OK + "success: true" 반환
|
||||
4. rb8001이 200 받고 "✅ 게시 완료!" 메시지 (Line 336)
|
||||
5. 백그라운드에서 실제 게시 시도 → Squarespace 타임아웃
|
||||
6. 게시 실패했지만 사용자는 모름
|
||||
|
||||
## 3. 코드 위치
|
||||
### rb8001/app/skills/news_posting_skill.py
|
||||
- Line 298-311: skill-publish 호출
|
||||
- Line 313: if response.status_code == 200
|
||||
- Line 336: "✅ '{title}' 게시 완료!" 메시지
|
||||
|
||||
### skill-publish/app/main.py
|
||||
- Line 70: await publisher_service.add_to_queue()
|
||||
- Line 73-76: background_tasks.add_task()
|
||||
- Line 79-82: 즉시 성공 응답 반환
|
||||
|
||||
### skill-publish/app/services/publisher_service.py
|
||||
- Line 81-86: 큐에 'queued' 상태로 추가
|
||||
- Line 97: 'processing' 상태로 변경
|
||||
- Line 123: 'published' 상태 (성공 시)
|
||||
- Line 131: 'failed' 상태 (실패 시)
|
||||
- Line 145-156: get_status() 개별 상태 조회 존재
|
||||
- Line 159: get_queue_info() 전체 큐 정보
|
||||
|
||||
### skill-publish/app/main.py
|
||||
- Line 89-99: GET /status/{news_id} 엔드포인트 존재
|
||||
|
||||
## 4. 문제점
|
||||
1. rb8001이 상태 확인 없이 즉시 "게시 완료" 메시지
|
||||
2. rb8001이 큐 추가를 게시 성공으로 오해
|
||||
3. 실패 시 사용자 알림 없음
|
||||
4. /status/{news_id} API 있지만 rb8001이 사용 안 함
|
||||
|
||||
## 5. 해결 방향
|
||||
1. 메시지 변경: "게시 완료" → "게시 요청됨 (처리중)"
|
||||
2. rb8001이 /status/{news_id} 사용해 상태 체크
|
||||
3. 30초마다 최대 3회 체크 (published/failed 될 때까지)
|
||||
4. response_url로 Slack 메시지 업데이트, 버튼 유지
|
||||
Loading…
x
Reference in New Issue
Block a user