поправил таймслип

This commit is contained in:
2025-10-29 12:09:02 +03:00
parent 9bf3624c8c
commit c438f69578

View File

@@ -164,8 +164,14 @@ def atomic_write_json(path: str, data: Any) -> None:
# 1. Готовим данные заранее # 1. Готовим данные заранее
# ensure_ascii=False чтобы не терять юникод, indent=None чтобы не раздувать файл # ensure_ascii=False чтобы не терять юникод, indent=None чтобы не раздувать файл
payload = json.dumps(data, ensure_ascii=False, separators=(",", ":")) payload = json.dumps(data, ensure_ascii=False, separators=(",", ":"))
path = "static/" + path + ".json" full_path = "static/" + path + ".json"
target = Path(path) try:
with open(full_path, "r", encoding="utf-8") as f:
if f.read() == payload:
return # ничего не поменялось -> не пишем, не fsync'им
except FileNotFoundError:
pass
target = Path(full_path)
tmp_fd, tmp_path = tempfile.mkstemp( tmp_fd, tmp_path = tempfile.mkstemp(
dir=target.parent, dir=target.parent,
prefix=target.name + ".tmp.", prefix=target.name + ".tmp.",
@@ -173,7 +179,7 @@ def atomic_write_json(path: str, data: Any) -> None:
) )
os.close(tmp_fd) # мы будем писать сами os.close(tmp_fd) # мы будем писать сами
lock = _select_lock(path) lock = _select_lock(full_path)
with lock: with lock:
# 2a. Записываем полностью во временный файл # 2a. Записываем полностью во временный файл
with open(tmp_path, "w", encoding="utf-8") as f: with open(tmp_path, "w", encoding="utf-8") as f:
@@ -736,7 +742,7 @@ def render_loop(stop_event: threading.Event, out_name: str = "game") -> None:
except Exception as ex: except Exception as ex:
logger.exception(f"[RENDER_THREAD] unexpected error: {ex}") logger.exception(f"[RENDER_THREAD] unexpected error: {ex}")
time.sleep(0.2) time.sleep(1)
logger.info("[RENDER_THREAD] stop render loop") logger.info("[RENDER_THREAD] stop render loop")