From 4e827f2513615f1282bc2e24853f78815c45a467 Mon Sep 17 00:00:00 2001 From: jshixiong <2645476194@qq.com> Date: Thu, 8 Aug 2024 11:39:06 +0800 Subject: [PATCH] =?UTF-8?q?feat(control):=20=E7=B3=BB=E7=BB=9F=E6=8E=A7?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/__init__.py | 6 +++++- app/route/route.py | 13 ++++++++++++- app/sys_control.py | 24 ++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 app/sys_control.py diff --git a/app/__init__.py b/app/__init__.py index 86be0b1..75163b7 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -26,8 +26,12 @@ def create_app(): log_file_path = '/data/ww/py_sys_monitor/info/access_log' def log_request_response(response): + response_data = response.get_json(silent=True) + if "route.get_resource" == request.endpoint: return response + elif "route.get_login_info" == request.endpoint: + response_data = {} log_entry = { 'time': datetime.now().strftime('%Y-%m-%d %H:%M:%S'), @@ -41,7 +45,7 @@ def create_app(): "json": request.get_json(silent=True) }, indent=4), 'response_status': response.status, - 'response_data': response.get_json(silent=True) + 'response_data': json.dumps(response_data, indent=4) } os.makedirs(os.path.dirname(log_file_path), exist_ok=True) diff --git a/app/route/route.py b/app/route/route.py index 923f339..f841c97 100644 --- a/app/route/route.py +++ b/app/route/route.py @@ -8,6 +8,7 @@ import app.login_info as login_info import app.request_info as request_info import app.imitate_thread as imitate_thread import app.sys_clean as sys_clean +import app.sys_control as sys_control route_bp = Blueprint('route', __name__) @@ -80,4 +81,14 @@ def get_junk_file(): @route_bp.route('/api/sys/clean_junk', methods=['POST']) def clean_junk_file(): filenames = request.json.get('file_list', []) - return sys_clean.clean_junk_file(filenames) \ No newline at end of file + return sys_clean.clean_junk_file(filenames) + +# cpu跑满 +@route_bp.route('/sys/cpu_full', methods=['POST']) +def execute_bling(): + return sys_control.execute_cpu_full_script() + +# 内存跑满 +@route_bp.route('/sys/cpu_full', methods=['POST']) +def execute_bling(): + return sys_control.execute_memory_full_script() \ No newline at end of file diff --git a/app/sys_control.py b/app/sys_control.py new file mode 100644 index 0000000..de8d72f --- /dev/null +++ b/app/sys_control.py @@ -0,0 +1,24 @@ +import subprocess +import logging +from flask import jsonify + +def execute_cpu_full_script(): + script_path = '/data/ww/py_sys_monitor/control/cpu_full.py' + try: + result = subprocess.run(['python3', script_path], capture_output=True, text=True, check=True) + output = result.stdout + return jsonify({"message": "successfully", "output": output}) + except subprocess.CalledProcessError as e: + logging.info("") + return jsonify({"message": "failed", "error": str(e.output)}) + + +def execute_memory_full_script(): + script_path = '/data/ww/py_sys_monitor/control/memory_full.py' + try: + result = subprocess.run(['python3', script_path], capture_output=True, text=True, check=True) + output = result.stdout + return jsonify({"message": "successfully", "output": output}) + except subprocess.CalledProcessError as e: + logging.info("") + return jsonify({"message": "failed", "error": str(e.output)}) \ No newline at end of file