dfadsfads
This commit is contained in:
26
get_data.py
26
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
|
global threads_offline, CURRENT_THREADS_MODE, stop_event_offline, latest_data
|
||||||
|
|
||||||
# если уже работаем в офлайне — не дублируем
|
|
||||||
if CURRENT_THREADS_MODE == "offline":
|
if CURRENT_THREADS_MODE == "offline":
|
||||||
return
|
return
|
||||||
|
|
||||||
# на всякий случай гасим лайв
|
|
||||||
stop_live_threads()
|
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()
|
stop_event_offline.clear()
|
||||||
|
|
||||||
threads_offline = [
|
threads_offline = [
|
||||||
threading.Thread(
|
threading.Thread(
|
||||||
target=get_data_from_API,
|
target=get_data_from_API,
|
||||||
args=(
|
args=(
|
||||||
"game",
|
"game",
|
||||||
URLS["game"].format(host=HOST, game_id=game_id, lang=LANG),
|
URLS["game"].format(host=HOST, game_id=game_id, lang=LANG),
|
||||||
1, # раз в секунду/реже
|
1, # опрашиваем раз в секунду/реже
|
||||||
stop_event_offline,
|
stop_event_offline,
|
||||||
),
|
),
|
||||||
daemon=True,
|
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:
|
for t in threads_offline:
|
||||||
t.start()
|
t.start()
|
||||||
|
|
||||||
CURRENT_THREADS_MODE = "offline"
|
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):
|
def start_live_threads(season, game_id):
|
||||||
|
|||||||
Reference in New Issue
Block a user