fix: 개장 시 추천 종목 지연 — 배치 분석 개장 전 선행 실행 + 스케줄러 개장 전 기상
모든 스케줄러가 장 마감 중 고정 1800초를 자서 09:00 개장을 최대 30분 건너뛰었고, 배치 분석은 개장 후에야 시작돼 추천 종목이 09:00에 비어 있었음. - market_schedule.is_pre_market_window() 추가 (08:30~09:00, 거래일만) - batch_analysis_scheduler: 개장 전 준비 구간에도 분석 실행 → stock_analysis·Redis 추천 캐시를 미리 채워 09:00에 추천 즉시 표시 - batch/auto_trade/swing 스케줄러: 마감 중 sleep = min(1800, 개장까지 남은 시간) - 테스트 1건 추가 (총 5건) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -42,3 +42,15 @@ def test_sleep_never_overshoots_open(monkeypatch):
|
||||
until = ms.seconds_until_market_open()
|
||||
sleep = 1800.0 if until is None else max(15.0, min(1800.0, until))
|
||||
assert sleep <= until, f"{hh}:{mm} — sleep {sleep}s가 개장({until}s 후)을 넘김"
|
||||
|
||||
|
||||
def test_pre_market_window(monkeypatch):
|
||||
"""08:30~09:00은 개장 전 준비 구간 (배치 분석 선행 실행)."""
|
||||
_at(monkeypatch, 2026, 9, 23, 8, 45)
|
||||
assert ms.is_pre_market_window() is True
|
||||
_at(monkeypatch, 2026, 9, 23, 8, 20)
|
||||
assert ms.is_pre_market_window() is False
|
||||
_at(monkeypatch, 2026, 9, 23, 9, 0)
|
||||
assert ms.is_pre_market_window() is False # 개장 후는 정규 경로
|
||||
_at(monkeypatch, 2026, 9, 26, 8, 45) # 토요일
|
||||
assert ms.is_pre_market_window() is False
|
||||
|
||||
Reference in New Issue
Block a user