diff --git a/CHANGELOG.md b/CHANGELOG.md index 24dc36e..414505e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ ### Changed -- 上分帝 Web 每日刷新明星比赛改为按 `fetched_at` 轮换(默认每次 15 人),遇 OpenDota 连续 429 熔断并保留旧缓存,避免整档 daily 被限流拖死。 +- 上分帝 Web 每日刷新明星比赛改为按 `fetched_at` 轮换(默认每次 15 人),遇 OpenDota 连续 429 熔断并保留旧缓存;`hero_stats` / `hero_matches` 限流时 soft-fail 保留缓存,避免整档 daily 被拖死。 ### Removed diff --git a/web/refresh_web.py b/web/refresh_web.py index 9c5b376..c028ada 100644 --- a/web/refresh_web.py +++ b/web/refresh_web.py @@ -272,9 +272,16 @@ def run_patch_linked(*, dry_run: bool = False) -> None: def run_daily(*, dry_run: bool = False) -> bool: """Return True if patch-linked fetch ran.""" - run_script("fetch_hero_stats.py", dry_run=dry_run) + # Soft-fail OpenDota quota burns: keep restored cache and continue the tier. + run_script("fetch_hero_stats.py", dry_run=dry_run, soft_fail=True) run_script("fetch_leaderboards.py", dry_run=dry_run) - run_script("fetch_hero_matches.py", "--source", "league", dry_run=dry_run) + run_script( + "fetch_hero_matches.py", + "--source", + "league", + dry_run=dry_run, + soft_fail=True, + ) run_script( "fetch_pro_matches.py", "--include-pubs",