diff --git a/backend/app/config.py b/backend/app/config.py index a0b102c..71dd242 100644 --- a/backend/app/config.py +++ b/backend/app/config.py @@ -100,6 +100,10 @@ class Settings(BaseSettings): # ESPN 비공식 API (MLS 일정·결과·순위·상세) — 키 불필요, 비공식. espn_api_base: str = "https://site.api.espn.com/apis" espn_mls_path: str = "sports/soccer/usa.1" + # MLS 과거 경기 백필 일수 — MLS 는 주말 위주 편성이라 야구식 recheck 윈도우(3일)만으론 + # 일정판에 긴 공백이 생기고 자체 DB 폼 데이터도 비어서, 최근 한 달을 함께 수집한다. + # (범위를 넓혀도 scoreboard 1콜, sync 는 추가형이라 과거 경기 재수집 무해) + mls_days_back: int = 30 @property def league_list(self) -> list[str]: diff --git a/backend/app/services/mls_espn.py b/backend/app/services/mls_espn.py index 0dac000..2915dde 100644 --- a/backend/app/services/mls_espn.py +++ b/backend/app/services/mls_espn.py @@ -110,8 +110,9 @@ async def fetch_mls_schedule() -> list[dict]: import httpx today = datetime.now(KST).date() - # ESPN dates 는 미국 동부 날짜 — KST 범위를 놓치지 않게 시작을 하루 더 당긴다. - start = today - timedelta(days=settings.result_recheck_days + 1) + # 시작 = 백필 윈도우(주말 위주 편성 공백 방지). ESPN dates 는 미국 동부 날짜라 + # KST 범위를 놓치지 않게 하루 여유를 둔다. + start = today - timedelta(days=settings.mls_days_back + 1) end = today + timedelta(days=settings.baseball_days_ahead) try: async with httpx.AsyncClient(timeout=20) as c: