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 | |
|---|---|---|
| .. | ||
| __init__.py | 5 months ago | |
| alpaca.py | 4 months ago | |
| attention.py | 5 months ago | |
| catalog.py | 5 months ago | |
| database.py | 5 months ago | |
| dividends.py | 4 months ago | |
| earnings.py | 4 months ago | |
| error_logs.py | 5 months ago | |
| etf.py | 5 months ago | |
| filings.py | 4 months ago | |
| financial.py | 5 months ago | |
| finra.py | 5 months ago | |
| fred.py | 5 months ago | |
| health.py | 5 months ago | |
| insider.py | 5 months ago | |
| migration.py | 5 months ago | |
| news.py | 5 months ago | |
| overlay.py | 5 months ago | |
| price.py | 4 months ago | |
| request_logs.py | 5 months ago | |
| screener.py | 5 months ago | |
| stocks.py | 5 months ago | |
| universe.py | 5 months ago | |