modify: 插件配置读取修改

This commit is contained in:
2026-08-03 16:56:56 +08:00
parent e43c25f5dc
commit 83ab65c10b
3 changed files with 62 additions and 24 deletions
+22 -20
View File
@@ -90,20 +90,22 @@ async def create_workers(session, config, count=1, worker_manager=None):
from chongming_database import Database
from chongming_stream_manager import StreamManager
# 读取心跳配置
worker_config = config.get("worker", {}).get("heartbeat", {}) if isinstance(config, dict) else {}
hb_interval = worker_config.get("interval", 5)
hb_timeout = worker_config.get("timeout", _default_timeout)
check_interval = worker_config.get("check_interval", 10)
mediamtx_addr = worker_config.get("mediamtx_addr", "rtsp://127.0.0.1:8554")
link_path = worker_config.get("link_path", "/data/bm-app")
# 所有运行时配置均从 [workers.config] 及其子节读取
data_dir = Path(config.get("data_dir", "./data"))
mediamtx_addr = config.get("mediamtx_addr", "rtsp://127.0.0.1:8554")
link_path = config.get("link_path", "/data/bm-app")
# 设定全局变量
global heartbeat_timeout
heartbeat_timeout = hb_timeout
# 心跳配置
heartbeat = config.get("heartbeat", {})
hb_interval = heartbeat.get("interval", 5)
hb_timeout = heartbeat.get("timeout", _default_timeout)
check_interval = heartbeat.get("check_interval", 10)
# 告警保留配置
alarm_retention = config.get("alarm_retention", {})
alarm_max = alarm_retention.get("max_records", 0)
# 初始化数据库
data_dir = Path(config.get("data_dir", "./data")) if isinstance(config, dict) else Path("./data")
db_path = data_dir / "aibox_sophon_adapter.db"
db_path.parent.mkdir(parents=True, exist_ok=True)
@@ -113,21 +115,21 @@ async def create_workers(session, config, count=1, worker_manager=None):
# 初始化视频流控制器
stream_manager = StreamManager(mediamtx_addr)
# 读取告警保留配置
alarm_retention_config = worker_config.get("alarm_retention", {}) if isinstance(config, dict) else {}
alarm_max = alarm_retention_config.get("max_records", 0)
# upload 根目录(用于清理告警关联视频)
upload_root_path = config.get("data_dir", "./data/uploads") if isinstance(config, dict) else "./data/uploads"
upload_root_path = str(data_dir / "uploads")
# 设定模块级全局变量(供 _check_offline_devices 使用)
global heartbeat_timeout
heartbeat_timeout = hb_timeout
# 初始化外部 MQTT 转发客户端
mqtt_fwd_config = worker_config.get("mqtt_forward", {}) if isinstance(config, dict) else {}
mqtt_fwd_enabled = mqtt_fwd_config.get("enabled", False)
mqtt_fwd = config.get("mqtt_forward", {})
mqtt_fwd_enabled = mqtt_fwd.get("enabled", False)
mqtt_fwd_client = None
if mqtt_fwd_enabled:
from .mqtt_forward import MQTTForwardClient
mqtt_fwd_uri = mqtt_fwd_config.get("uri", "")
mqtt_fwd_topic = mqtt_fwd_config.get("topic", "/board_ping")
mqtt_fwd_uri = mqtt_fwd.get("uri", "")
mqtt_fwd_topic = mqtt_fwd.get("topic", "/board_ping")
if mqtt_fwd_uri:
mqtt_fwd_client = MQTTForwardClient(uri=mqtt_fwd_uri, topic=mqtt_fwd_topic)
try: