优化看板功能,防止失败时的DLL问题
This commit is contained in:
@@ -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}")
|
||||
|
||||
Reference in New Issue
Block a user