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.
I Luk Kim c203f3920b refactor: session-per-phase — DB 커넥션을 외부 API 호출 중 해제
서비스 메서드가 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 refactor: session-per-phase — DB 커넥션을 외부 API 호출 중 해제 4 months ago
core fix: DB 커넥션 풀 고갈 — pool_timeout 단축 + idle_in_transaction 자동 종료 4 months ago
middleware fix: error_logs.path VARCHAR(500) → TEXT — 서버 응답 불가 해결 4 months ago
models fix: error_logs.path VARCHAR(500) → TEXT — 서버 응답 불가 해결 4 months ago
schemas feat: multi-ticker bulk bars endpoints + BF-B ticker normalization 4 months ago
services refactor: session-per-phase — DB 커넥션을 외부 API 호출 중 해제 4 months ago
utils perf: API 성능 개선 Round 3 — 8개 항목 (P15-P22) 5 months ago
__init__.py Initial commit with full project improvements 5 months ago
main.py perf: API 성능 개선 Round 2 — 9개 항목 (P6-P14) 5 months ago