mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-29 18:23:59 +08:00
fix(server): 退出时等待保存记忆导致立即重连时阻塞
This commit is contained in:
@@ -181,13 +181,23 @@ class ConnectionHandler:
|
|||||||
|
|
||||||
except AuthenticationError as e:
|
except AuthenticationError as e:
|
||||||
self.logger.bind(tag=TAG).error(f"Authentication failed: {str(e)}")
|
self.logger.bind(tag=TAG).error(f"Authentication failed: {str(e)}")
|
||||||
|
await self.close(ws)
|
||||||
return
|
return
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
stack_trace = traceback.format_exc()
|
stack_trace = traceback.format_exc()
|
||||||
self.logger.bind(tag=TAG).error(f"Connection error: {str(e)}-{stack_trace}")
|
self.logger.bind(tag=TAG).error(f"Connection error: {str(e)}-{stack_trace}")
|
||||||
|
await self.close(ws)
|
||||||
return
|
return
|
||||||
finally:
|
finally:
|
||||||
|
self._save_and_close(ws)
|
||||||
|
|
||||||
|
async def _save_and_close(self, ws):
|
||||||
|
"""保存记忆并关闭连接"""
|
||||||
|
try:
|
||||||
await self.memory.save_memory(self.dialogue.dialogue)
|
await self.memory.save_memory(self.dialogue.dialogue)
|
||||||
|
except Exception as e:
|
||||||
|
self.logger.bind(tag=TAG).error(f"保存记忆失败: {e}")
|
||||||
|
finally:
|
||||||
await self.close(ws)
|
await self.close(ws)
|
||||||
|
|
||||||
async def _route_message(self, message):
|
async def _route_message(self, message):
|
||||||
|
|||||||
Reference in New Issue
Block a user