From a30fd9ccec34baa4a64b0810a9363fd7fa85ef08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80?= <78488229+viktor138irk@users.noreply.github.com> Date: Fri, 8 May 2026 05:21:27 +0900 Subject: [PATCH] Add monitor start patch script --- scripts/fix_monitor_start.py | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 scripts/fix_monitor_start.py diff --git a/scripts/fix_monitor_start.py b/scripts/fix_monitor_start.py new file mode 100644 index 0000000..e39a181 --- /dev/null +++ b/scripts/fix_monitor_start.py @@ -0,0 +1,11 @@ +from pathlib import Path + +path = Path('app/main.py') +text = path.read_text() +old = """def ensure_monitor_running() -> None:\n global monitor_task\n if monitor_task is None or monitor_task.done():\n monitor_task = asyncio.create_task(monitor.loop(SessionLocal, interval_seconds=10))\n""" +new = """def ensure_monitor_running() -> None:\n global monitor_task\n\n if monitor_task is not None and not monitor_task.done() and not monitor.running:\n monitor_task.cancel()\n monitor_task = None\n\n if monitor_task is None or monitor_task.done():\n monitor_task = asyncio.create_task(monitor.loop(SessionLocal, interval_seconds=10))\n""" +if old not in text: + print('ensure_monitor_running already patched or function shape differs') +else: + path.write_text(text.replace(old, new)) + print('monitor start/restart patch applied')