适配: Edge 全局参数解析 + AlgorithmManager 三级参数合并
This commit is contained in:
21
main.py
21
main.py
@@ -132,6 +132,15 @@ class EdgeInferenceService:
|
||||
daemon=True
|
||||
).start()
|
||||
self._config_manager.register_callback("config_update", _on_config_update)
|
||||
|
||||
def _on_global_params_update(topic, data):
|
||||
if self._algorithm_manager:
|
||||
global_params = data.get("global_params", {})
|
||||
self._algorithm_manager.update_global_params(global_params)
|
||||
# 全局参数变更后需要清除注册缓存,使下一帧重新注册算法以应用新参数
|
||||
self._algorithm_manager._registered_keys.clear()
|
||||
self._logger.info(f"全局参数回调已触发,已清除算法注册缓存")
|
||||
self._config_manager.register_callback("global_params_update", _on_global_params_update)
|
||||
self._logger.info("配置管理器初始化成功")
|
||||
except Exception as e:
|
||||
self._logger.error(f"配置管理器初始化失败: {e}")
|
||||
@@ -198,6 +207,18 @@ class EdgeInferenceService:
|
||||
try:
|
||||
self._algorithm_manager = AlgorithmManager()
|
||||
self._algorithm_manager.start_config_subscription()
|
||||
|
||||
# 启动时从 SQLite 加载已有全局参数
|
||||
try:
|
||||
from config.database import get_sqlite_manager
|
||||
db = get_sqlite_manager()
|
||||
saved_global_params = db.get_all_global_params()
|
||||
if saved_global_params:
|
||||
self._algorithm_manager.update_global_params(saved_global_params)
|
||||
self._logger.info(f"从 SQLite 加载全局参数: {list(saved_global_params.keys())}")
|
||||
except Exception as e:
|
||||
self._logger.warning(f"从 SQLite 加载全局参数失败: {e}")
|
||||
|
||||
self._logger.info("算法管理器初始化成功")
|
||||
except Exception as e:
|
||||
self._logger.error(f"算法管理器初始化失败: {e}")
|
||||
|
||||
Reference in New Issue
Block a user