Skip to content

fix: 날씨 조회 간헐적 실패 개선 - #80

Merged
koreahghg merged 2 commits into
developfrom
fix/weather-resilience
Oct 14, 2026
Merged

koreahghg merged 2 commits into
developfrom
fix/weather-resilience

Conversation

@koreahghg

Copy link
Copy Markdown
Member

문제

!날씨 사용 시 "❌ 날씨 정보를 불러오지 못했습니다."가 자주 발생

원인

  • 기상청 실황/예보 + 에어코리아 3개 API 중 하나라도 실패하면 전체 실패 (특히 불안정한 에어코리아)
  • 타임아웃 4초, 재시도 없음 — data.go.kr은 느리거나 200 OK에 XML 에러를 주는 경우가 있음
  • 초단기실황 :40 발표가 늦게 반영되면 NO_DATA(03) 반환
  • 실패 시 직전 정상 데이터를 활용하지 않음

변경

  • 미세먼지 조회 실패는 날씨 전체를 막지 않고 ⚪ 정보 없음으로 표시
  • 기상청 호출 타임아웃 8초 + 최대 2회 재시도 (fetchWithRetry에 로그 라벨 인자 추가)
  • 실황 NO_DATA 시 한 시간 전 발표분으로 재조회
  • 모든 시도가 실패해도 3시간 이내 마지막 정상값으로 응답

테스트

  • tsc --noEmit, npm test 통과
  • 실제 API 호출은 로컬에 키가 없어 미검증 — 배포 후 [Weather] 로그 확인 필요

🤖 Generated with Claude Code

- 미세먼지(에어코리아) 실패 시 날씨 전체를 실패시키지 않고 "정보 없음" 표시
- 기상청 API 타임아웃 8초 + 최대 2회 재시도
- 초단기실황 NO_DATA(발표 지연) 시 한 시간 전 실황으로 재조회
- 전부 실패해도 3시간 이내 마지막 정상값으로 응답

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@koreahghg koreahghg self-assigned this Oct 14, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@koreahghg
koreahghg merged commit 5bea258 into develop Oct 14, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant