You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
서비스 메서드가 db: AsyncSession을 인자로 받아 외부 API 호출(yfinance 30-60s, Alpaca HTTP) 중에도 DB 커넥션을 잡고 있던 구조를 제거. 변경 패턴 (Session-per-phase): Before: Endpoint(db) → Service(db) → DB check → API call(30s 세션 유지) → DB store After: Endpoint() → Service() → DB check(세션1) → API call(세션 없음) → DB store(세션2) 변경 파일: - alpaca_price_service.py: fetch_and_store_bars, get_or_fetch_multi_bars에서 db 제거 - price_data_service.py: get_or_update_price_data, get_multiple_tickers_data_optimized에서 db 제거; _fetch_price_data(새), _bulk_fetch_price_data(새, lambda 클로저 버그 수정); _fetch_and_store_price_data, _bulk_fetch_and_store_price_data, get_multiple_tickers_data 제거 - alpaca.py, price.py: Depends(get_db) 제거 (GET /latest 제외) - financial_service.py, real_sec_financial_service.py: 호출 인자 정리 결과: "idle in transaction" 커넥션 0개, 풀 고갈 원인 근본 해결 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
4 months ago | |
|---|---|---|
| .. | ||
| api | 4 months ago | |
| core | 4 months ago | |
| middleware | 4 months ago | |
| models | 4 months ago | |
| schemas | 4 months ago | |
| services | 4 months ago | |
| utils | 5 months ago | |
| __init__.py | 5 months ago | |
| main.py | 5 months ago | |