From 7f68067f679ffe15902c43fbbe9db7902e042c9a Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Sun, 3 Nov 2024 03:17:02 +0800 Subject: [PATCH] update --- web/admin/system/system.py | 15 ++++++--------- web/core/mw.py | 8 +++++++- web/utils/system/monitor.py | 5 +++++ 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/web/admin/system/system.py b/web/admin/system/system.py index cd6e8a578..1198a5227 100644 --- a/web/admin/system/system.py +++ b/web/admin/system/system.py @@ -8,17 +8,20 @@ # Author: midoks # --------------------------------------------------------------------------------- +import os from flask import Blueprint, render_template from flask import request from admin.user_login_check import panel_login_required -import admin.model.option as option +from utils.system import monitor +import admin.model.option as option import core.mw as mw import utils.system as sys + blueprint = Blueprint('system', __name__, url_prefix='/system', template_folder='../../templates') # 获取系统的统计信息 @@ -126,14 +129,8 @@ def set_control(): elif stype == 'del': if not mw.isRestart(): return mw.returnData(False, '请等待所有安装任务完成再执行') - os.remove("data/system.db") - - sql = db.Sql().dbfile('system') - csql = mw.readFile('data/sql/system.sql') - csql_list = csql.split(';') - for index in range(len(csql_list)): - sql.execute(csql_list[index], ()) - return mw.returnData(True, "监控服务已关闭") + monitor.instance().clearDbFile() + return mw.returnData(True, "清空记录成功!") else: monitor_status = option.getOption('monitor_status', default='open', type='monitor') monitor_day = option.getOption('monitor_day', default='30', type='monitor') diff --git a/web/core/mw.py b/web/core/mw.py index 37eb5307b..840595c44 100644 --- a/web/core/mw.py +++ b/web/core/mw.py @@ -541,7 +541,13 @@ def isNumber(s): return False - +def isRestart(): + # 检查是否允许重启 + num = M('tasks').where('status!=?', ('1',)).count() + if num > 0: + return False + return True + # 检查端口是否占用 def isOpenPort(port): import socket diff --git a/web/utils/system/monitor.py b/web/utils/system/monitor.py index 92db6abe6..224806a0d 100644 --- a/web/utils/system/monitor.py +++ b/web/utils/system/monitor.py @@ -45,6 +45,11 @@ class monitor: monitor._instance = monitor(*args, **kwargs) return monitor._instance + def clearDbFile(self): + os.remove(self._dbfile) + self.initDBFile() + return True + def initDBFile(self): if os.path.exists(self._dbfile): return True