mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-27 09:33:55 +08:00
update:python部分"动态更新配置"的优化
This commit is contained in:
@@ -42,9 +42,10 @@ class TTSException(RuntimeError):
|
|||||||
|
|
||||||
class ConnectionHandler:
|
class ConnectionHandler:
|
||||||
def __init__(
|
def __init__(
|
||||||
self, config: Dict[str, Any], _vad, _asr, _llm, _tts, _memory, _intent
|
self, config: Dict[str, Any], _vad, _asr, _llm, _tts, _memory, _intent, server=None
|
||||||
):
|
):
|
||||||
self.config = copy.deepcopy(config)
|
self.config = config
|
||||||
|
self.server = server
|
||||||
self.logger = setup_logging()
|
self.logger = setup_logging()
|
||||||
self.auth = AuthMiddleware(config)
|
self.auth = AuthMiddleware(config)
|
||||||
|
|
||||||
@@ -256,6 +257,12 @@ class ConnectionHandler:
|
|||||||
if config_model in ["llm", "tts", "asr", "vad", "intent", "memory"]:
|
if config_model in ["llm", "tts", "asr", "vad", "intent", "memory"]:
|
||||||
updated_modules.append(config_model)
|
updated_modules.append(config_model)
|
||||||
|
|
||||||
|
# 同步更新 WebSocketServer 的配置
|
||||||
|
if self.server:
|
||||||
|
async with self.server.config_lock: # 使用锁确保线程安全
|
||||||
|
for config_model in updated_modules:
|
||||||
|
self.server.config[config_model].update(new_config[config_model])
|
||||||
|
|
||||||
# 批量初始化模块
|
# 批量初始化模块
|
||||||
if updated_modules:
|
if updated_modules:
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ class WebSocketServer:
|
|||||||
def __init__(self, config: dict):
|
def __init__(self, config: dict):
|
||||||
self.config = config
|
self.config = config
|
||||||
self.logger = setup_logging()
|
self.logger = setup_logging()
|
||||||
|
self.config_lock = asyncio.Lock()
|
||||||
modules = initialize_modules(
|
modules = initialize_modules(
|
||||||
self.logger, self.config, True, True, True, True, True, True
|
self.logger, self.config, True, True, True, True, True, True
|
||||||
)
|
)
|
||||||
@@ -43,6 +44,7 @@ class WebSocketServer:
|
|||||||
self._tts,
|
self._tts,
|
||||||
self._memory,
|
self._memory,
|
||||||
self._intent,
|
self._intent,
|
||||||
|
self # 传入当前 WebSocketServer 实例
|
||||||
)
|
)
|
||||||
self.active_connections.add(handler)
|
self.active_connections.add(handler)
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user