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 abfab0fa57 fix: OOM kill 방지 — Phase 4 경량화 + Semaphore 3으로 제한
Worker가 OOM kill로 죽는 것을 확인 (docker inspect: OOMKilled=true).
호스트 메모리: 물리 RAM ~68MB 여유, 스왑 97% 사용 상태.

원인: Phase 4에서 SELECT AlpacaPriceData (전체 ORM 객체) 로드.
- 75 ticker × 78 5분봉 = 5,850개 ORM 객체/요청
- SQLAlchemy ORM instrumentation으로 dict 대비 ~10x 메모리 소비
- Semaphore(10) → 최대 10개 요청 동시 처리 = 피크 수백 MB ~ 1GB

수정:
- Phase 4: SELECT * → SELECT 7 columns only (ticker, date, OHLCV)
  → result.all()로 경량 Row namedtuple 반환, ORM 객체 생성 없음
  → SQLAlchemy Row는 속성 접근(row.date, row.open 등) 지원 — 엔드포인트 호환
- Semaphore(10) → Semaphore(3): 동시 처리 3개로 제한
  → 피크 메모리 ~70% 감소

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4 months ago
..
attention feat(attention): Attention 서브시스템 추가 — 이벤트 중심 Wikipedia/GDELT 관심도 피처 5 months ago
overlay perf: API 성능 개선 Round 3 — 8개 항목 (P15-P22) 5 months ago
__init__.py Initial commit with full project improvements 5 months ago
alpaca_client.py fix: reduce Alpaca multi-bar batch_size 200 → 100 4 months ago
alpaca_price_service.py fix: OOM kill 방지 — Phase 4 경량화 + Semaphore 3으로 제한 4 months ago
dividend_service.py feat: PIT dividend calendar + earnings surprise calendar endpoint 4 months ago
earnings_service.py feat: PIT dividend calendar + earnings surprise calendar endpoint 4 months ago
etf_holdings_fetcher.py fix(etf): as_of_date에 가장 가까운 파일링 반환하도록 수정 5 months ago
etf_loader_service.py Initial commit with full project improvements 5 months ago
financial_service.py refactor: session-per-phase — DB 커넥션을 외부 API 호출 중 해제 4 months ago
finra_short_volume_service.py perf: API 성능 개선 Round 3 — 8개 항목 (P15-P22) 5 months ago
fred_proxy_service.py Codebase improvements: caching decorator, Pydantic v2, DB indexes, connection pooling, Alembic 5 months ago
fred_service.py Initial commit with full project improvements 5 months ago
index_constituents_service.py fix(stocks): Wikipedia 403 우회를 위해 User-Agent 헤더 추가 5 months ago
insider_transaction_service.py feat: Earnings Surprise를 SEC XBRL로 전환 + Insider/FINRA 과거 데이터 확장 5 months ago
news_social_service.py perf: API 성능 개선 Round 2 — 9개 항목 (P6-P14) 5 months ago
price_data_service.py fix: GET /price/data — Alpaca → yfinance 교체 + bulk end_date 버그 2건 수정 4 months ago
real_sec_financial_service.py refactor: session-per-phase — DB 커넥션을 외부 API 호출 중 해제 4 months ago
screener_service.py fix: screener yf.screen() rate limit/401 retry 처리 추가 4 months ago
sec_8k_parser.py feat: 8-K 재파싱 지원 — force_reparse + 단일 accession 재처리 endpoint 4 months ago
sec_data_service.py Initial commit with full project improvements 5 months ago
sec_edgar_service.py Add SEC filings indexing, search, and exhibit extraction (8-K, 6-K, 20-F, 40-F) 5 months ago
sec_filings_service.py feat: 8-K filing parser — Item 추출 + event 생성 4 months ago
sec_http_client.py fix: SEC EDGAR stale 8-K index auto-refresh + HTTP cache bypass 4 months ago
universe_service.py fix: universe service - NASDAQ case bug + OOM prevention 5 months ago
yahoo_52week_gainers_service.py Initial commit with full project improvements 5 months ago
yahoo_most_active_service.py Initial commit with full project improvements 5 months ago