Files
trade/scripts/fix_monitor_start.py
T

12 строки
870 B
Python

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')