Raver | afc93da | 2025-06-15 18:12:49 +0800 | [diff] [blame] | 1 | from app import create_app |
TRM-coding | 106204b | 2025-06-28 00:37:46 +0800 | [diff] [blame^] | 2 | from flask_cors import CORS |
| 3 | import os |
| 4 | import psutil |
| 5 | import time |
| 6 | import GPUtil |
| 7 | from flask import g, request |
| 8 | from sqlalchemy import create_engine |
| 9 | from sqlalchemy.orm import sessionmaker |
| 10 | from config import Config |
| 11 | from app.utils.gpuwriter import GpuWriter |
Raver | afc93da | 2025-06-15 18:12:49 +0800 | [diff] [blame] | 12 | |
| 13 | app = create_app() |
TRM-coding | 106204b | 2025-06-28 00:37:46 +0800 | [diff] [blame^] | 14 | CORS(app, |
| 15 | resources={r"/*": {"origins": "*"}}, |
| 16 | supports_credentials=True, |
| 17 | allow_headers=["Content-Type", "Authorization"] |
| 18 | ) |
| 19 | |
| 20 | proc = psutil.Process(os.getpid()) |
| 21 | |
| 22 | @app.before_request |
| 23 | def before_request(): |
| 24 | g.start_time = time.time() |
| 25 | g.start_cpu = proc.cpu_times() |
| 26 | g.start_mem = proc.memory_info() |
| 27 | |
| 28 | @app.after_request |
| 29 | def after_request(response): |
| 30 | try: |
| 31 | # 记录GPU使用情况 |
| 32 | gpu_writer = GpuWriter(Config.SQLURL) |
| 33 | gpus = GPUtil.getGPUs() |
| 34 | |
| 35 | for gpu in gpus: |
| 36 | gpu_writer.write_gpu_usage( |
| 37 | gpu_id=gpu.id, |
| 38 | gpu_usage=gpu.load * 100, # 转换为百分比 |
| 39 | gpu_memory_usage=gpu.memoryUsed # MB |
| 40 | ) |
| 41 | except Exception as e: |
| 42 | print(f"GPU使用情况记录失败: {e}") |
| 43 | |
| 44 | return response |
Raver | afc93da | 2025-06-15 18:12:49 +0800 | [diff] [blame] | 45 | |
| 46 | if __name__ == "__main__": |
| 47 | app.run(debug=True,port=8082,host='0.0.0.0') |