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:
@@ -88,6 +88,19 @@ def seconds_until_market_open() -> float | None:
|
||||
return None
|
||||
|
||||
|
||||
def is_pre_market_window(minutes_before: int = 30) -> bool:
|
||||
"""개장 직전 준비 구간(기본 08:30~09:00, 거래일만).
|
||||
|
||||
이 구간에 배치 분석을 미리 돌려 stock_analysis·추천 캐시를 채워두면
|
||||
09:00 개장과 동시에 추천 종목이 보인다. (2026-09-23)
|
||||
"""
|
||||
now = datetime.now(KST)
|
||||
if now.weekday() >= 5 or _is_holiday(now.date()):
|
||||
return False
|
||||
open_dt = now.replace(hour=9, minute=0, second=0, microsecond=0)
|
||||
return (open_dt - timedelta(minutes=minutes_before)) <= now < open_dt
|
||||
|
||||
|
||||
def is_day_trade_entry_window() -> bool:
|
||||
"""데이트레이딩 신규 진입 가능 시간 (09:30~14:59)"""
|
||||
now = datetime.now(KST)
|
||||
|
||||
Reference in New Issue
Block a user