@@ -0,0 +1,39 @@
|
||||
"""Фоновые сервисы после готовности приложения (sync, OTA, LLM)."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import atexit
|
||||
|
||||
from flask import Flask
|
||||
|
||||
|
||||
def schedule_runtime_services(app: Flask) -> None:
|
||||
if app.config.get("TESTING"):
|
||||
return
|
||||
|
||||
if app.config.get("SYNC_CLIENT_AUTOSTART", True):
|
||||
from app.services.startup_defer import default_startup_delay_sec
|
||||
from sync_client import schedule_sync_client_autostart, stop_sync_client
|
||||
|
||||
sync_delay = default_startup_delay_sec(
|
||||
"WESP_STARTUP_SYNC_DELAY_SEC", arm_default=3.0, other_default=0.6
|
||||
)
|
||||
schedule_sync_client_autostart(app, delay_sec=sync_delay)
|
||||
atexit.register(stop_sync_client)
|
||||
|
||||
from app.services.auto_update_runtime import (
|
||||
register_update_checker_shutdown,
|
||||
schedule_update_checker,
|
||||
)
|
||||
|
||||
schedule_update_checker(app)
|
||||
register_update_checker_shutdown()
|
||||
|
||||
if app.config.get("WESP_LLM_AUTOSTART"):
|
||||
from app.services.local_llm_autostart import (
|
||||
schedule_llm_server_autostart,
|
||||
stop_llm_server_process,
|
||||
)
|
||||
|
||||
schedule_llm_server_autostart(app)
|
||||
atexit.register(stop_llm_server_process)
|
||||
Reference in New Issue
Block a user