优化看板功能,防止失败时的DLL问题

This commit is contained in:
liuwei
2025-03-19 14:24:54 +08:00
parent 80463770b9
commit cb87ca4921

View File

@@ -130,11 +130,27 @@ class DashboardServer:
def stop(self) -> None:
"""停止服务器"""
try:
self.logger.info("正在停止统计看板服务器...")
self._stop_event.set()
# 修改:使用更可靠的方式停止服务器
# 关闭服务器
if self._server:
self._server.shutdown()
self.logger.info("统计看板服务器已停止")
self._server = None
# 等待所有线程完成
time.sleep(0.5) # 给线程一些时间来完成
self.logger.info("统计看板服务器已完全停止")
except Exception as e:
self.logger.error(f"停止统计看板服务器出错: {e}")
raise
def __del__(self):
"""析构函数,确保资源被释放"""
try:
if hasattr(self, '_server') and self._server:
self.stop()
except Exception as e:
if hasattr(self, 'logger'):
self.logger.error(f"DashboardServer 析构时出错: {e}")