修复:Redis 配置加载时传入 alarm_level 到算法实例
Redis 订阅路径初始化算法时漏传 alarm_level 参数, 导致前端配置的告警等级不生效,始终使用默认值。
This commit is contained in:
@@ -1347,6 +1347,7 @@ class AlgorithmManager:
|
||||
key = f"{roi_id}_{bind_id}"
|
||||
|
||||
if algo_code == "leave_post":
|
||||
configured_alarm_level = params.get("alarm_level")
|
||||
algo_params = {
|
||||
"confirm_on_duty_sec": params.get("confirm_on_duty_sec", 10),
|
||||
"confirm_leave_sec": params.get("confirm_leave_sec", 30),
|
||||
@@ -1360,6 +1361,8 @@ class AlgorithmManager:
|
||||
algo.confirm_leave_sec = algo_params["confirm_leave_sec"]
|
||||
algo.cooldown_sec = algo_params["cooldown_sec"]
|
||||
algo.target_class = algo_params["target_class"]
|
||||
if configured_alarm_level is not None:
|
||||
algo._alarm_level = configured_alarm_level
|
||||
if algo_params["working_hours"]:
|
||||
algo.working_hours = algo_params["working_hours"]
|
||||
logger.info(f"已热更新算法参数: {key}")
|
||||
@@ -1368,13 +1371,15 @@ class AlgorithmManager:
|
||||
self.algorithms[roi_id][key]["leave_post"] = LeavePostAlgorithm(
|
||||
confirm_on_duty_sec=algo_params["confirm_on_duty_sec"],
|
||||
confirm_leave_sec=algo_params["confirm_leave_sec"],
|
||||
leave_countdown_sec=algo_params.get("leave_countdown_sec", 300), # 离岗倒计时,默认5分钟
|
||||
leave_countdown_sec=algo_params.get("leave_countdown_sec", 300),
|
||||
cooldown_sec=algo_params["cooldown_sec"],
|
||||
working_hours=algo_params["working_hours"],
|
||||
target_class=algo_params["target_class"],
|
||||
alarm_level=configured_alarm_level,
|
||||
)
|
||||
logger.info(f"已从Redis加载算法: {key}")
|
||||
elif algo_code == "intrusion":
|
||||
configured_alarm_level = params.get("alarm_level")
|
||||
algo_params = {
|
||||
"cooldown_seconds": params.get("cooldown_seconds", 300),
|
||||
"confirm_seconds": params.get("confirm_seconds", 5),
|
||||
@@ -1385,6 +1390,7 @@ class AlgorithmManager:
|
||||
cooldown_seconds=algo_params["cooldown_seconds"],
|
||||
confirm_seconds=algo_params["confirm_seconds"],
|
||||
target_class=algo_params["target_class"],
|
||||
alarm_level=configured_alarm_level,
|
||||
)
|
||||
logger.info(f"已从Redis加载算法: {key}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user