From a74d289a846862d244977f3c3ee100fdff560e0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AE=D1=80=D0=B8=D0=B9=20=D0=A7=D0=B5=D1=80=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=BA=D0=BE?= Date: Sat, 1 Nov 2025 13:01:55 +0300 Subject: [PATCH] dfadsfads --- get_data.py | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/get_data.py b/get_data.py index d5dc901..2672e3e 100644 --- a/get_data.py +++ b/get_data.py @@ -128,33 +128,47 @@ def start_offline_threads(season, game_id): """Запускаем редкие запросы, когда матча нет или он уже сыгран.""" global threads_offline, CURRENT_THREADS_MODE, stop_event_offline, latest_data - # если уже работаем в офлайне — не дублируем if CURRENT_THREADS_MODE == "offline": return - # на всякий случай гасим лайв stop_live_threads() - - latest_data = [] + + # 🔹 очищаем latest_data безопасно, чтобы не ломать структуру + keep_keys = {"game", "pregame", "pregame-full-stats", "actual-standings", "calendar"} + for key in list(latest_data.keys()): + if key not in keep_keys: + del latest_data[key] stop_event_offline.clear() + threads_offline = [ threading.Thread( target=get_data_from_API, args=( "game", URLS["game"].format(host=HOST, game_id=game_id, lang=LANG), - 1, # раз в секунду/реже + 1, # опрашиваем раз в секунду/реже stop_event_offline, ), daemon=True, - ) + ), + # 👇 чтобы офлайн всё равно проверял live-status раз в минуту + threading.Thread( + target=get_data_from_API, + args=( + "live-status", + URLS["live-status"].format(host=HOST, game_id=game_id), + 1 / 60, # раз в 60 секунд + stop_event_offline, + ), + daemon=True, + ), ] for t in threads_offline: t.start() CURRENT_THREADS_MODE = "offline" - logger.info("[threads] OFFLINE threads started") + logger.info("[threads] OFFLINE threads started (data cleaned)") def start_live_threads(season, game_id):