From 090205c372bda19aab2accc089fc7942564af802 Mon Sep 17 00:00:00 2001 From: dami Date: Mon, 20 Jul 2026 13:41:03 +0800 Subject: [PATCH] update --- web/core/db.py | 13 +++++++++++++ web/utils/system/monitor.py | 12 ++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/web/core/db.py b/web/core/db.py index 4125de281..24933b128 100755 --- a/web/core/db.py +++ b/web/core/db.py @@ -67,6 +67,19 @@ class Sql(): print(getTracebackInfo()) raise + def close(self): + # 关闭数据库连接 + if self.__DB_CONN is not None: + try: + self.__DB_CONN.close() + self.__DB_CONN = None + except Exception as ex: + pass + + def __del__(self): + # 对象销毁时自动关闭连接 + self.close() + def changeTextFactoryToBytes(self): self.__DB_CONN.text_factory = bytes return True diff --git a/web/utils/system/monitor.py b/web/utils/system/monitor.py index 475efe6b6..8e1ab9852 100644 --- a/web/utils/system/monitor.py +++ b/web/utils/system/monitor.py @@ -73,7 +73,9 @@ class monitor: return True def getMonitorDay(self): - monitor_day = mw.M('option').field('name').where('name=?',('monitor_day',)).getField('value') + db = mw.M('option') + monitor_day = db.field('name').where('name=?',('monitor_day',)).getField('value') + db.close() if monitor_day is None or monitor_day == '': return 30 try: @@ -82,7 +84,9 @@ class monitor: return 30 def isOnlyNetIoStats(self): - monitor_only_netio = mw.M('option').field('name').where('name=?',('monitor_only_netio',)).getField('value') + db = mw.M('option') + monitor_only_netio = db.field('name').where('name=?',('monitor_only_netio',)).getField('value') + db.close() if monitor_only_netio == 'open': return True return False @@ -170,18 +174,21 @@ class monitor: cmd_objm = mw.M('cpuio').dbPos(mw.getPanelDataDir(),'system') cmd_objm.add('pro,mem,addtime', cpu_mem_data) cmd_objm.where("addtime