feat(seed): KRX live 실패 시 정적 주요종목 fallback (156개)
배경: 토요일/봇차단 등으로 KRX 가 LOGOUT/JSONDecodeError 를 주면 pykrx 가 빈 리스트만 돌려줘서 SEED 10 종목 외엔 검색이 안 되는 회귀가 있었다 (기아/네이버/엔비디아 같은 비-seed 검색 실패). 해결: 시총/거래대금 상위 + 친숙도 기준으로 KOSPI 104 / KOSDAQ 52 = 156 개를 정적 스냅샷 (app/seed/krx_static.py) 으로 묶었다. seed_symbols() 가 KRX 라이브 fetch 결과가 0건이면 자동으로 이 스냅샷에서 upsert. KRX 가 정상 돌아오면 다음 호출이 라이브 데이터로 자연 덮어쓰여진다. 응답에 static_fallback_used 필드 노출. 수록 항목은 KRX 공시 종목코드 + 현재 등록명 (공개 사실). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -58,6 +58,7 @@ def reseed_symbols() -> dict:
|
||||
"updated": report.updated,
|
||||
"seed_marked": report.seed_marked,
|
||||
"markets": report.markets,
|
||||
"static_fallback_used": report.static_fallback_used,
|
||||
}
|
||||
except Exception as e: # noqa: BLE001
|
||||
# seed_symbols 내부에서 다 잡지만, 만에 하나 외부로 새는 예외 (logger 포매터
|
||||
@@ -68,5 +69,6 @@ def reseed_symbols() -> dict:
|
||||
"updated": 0,
|
||||
"seed_marked": 0,
|
||||
"markets": {},
|
||||
"static_fallback_used": False,
|
||||
"error": repr(e)[:300],
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user