优化看板功能,防止失败时的DLL问题
This commit is contained in:
@@ -130,11 +130,27 @@ class DashboardServer:
|
|||||||
def stop(self) -> None:
|
def stop(self) -> None:
|
||||||
"""停止服务器"""
|
"""停止服务器"""
|
||||||
try:
|
try:
|
||||||
|
self.logger.info("正在停止统计看板服务器...")
|
||||||
self._stop_event.set()
|
self._stop_event.set()
|
||||||
# 修改:使用更可靠的方式停止服务器
|
|
||||||
|
# 关闭服务器
|
||||||
if self._server:
|
if self._server:
|
||||||
self._server.shutdown()
|
self._server.shutdown()
|
||||||
self.logger.info("统计看板服务器已停止")
|
self._server = None
|
||||||
|
|
||||||
|
# 等待所有线程完成
|
||||||
|
time.sleep(0.5) # 给线程一些时间来完成
|
||||||
|
|
||||||
|
self.logger.info("统计看板服务器已完全停止")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.logger.error(f"停止统计看板服务器出错: {e}")
|
self.logger.error(f"停止统计看板服务器出错: {e}")
|
||||||
raise
|
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