| from app import create_app |
| from flask_cors import CORS |
| import os |
| import psutil |
| import time |
| import GPUtil |
| from flask import g, request |
| from sqlalchemy import create_engine |
| from sqlalchemy.orm import sessionmaker |
| from config import Config |
| from app.utils.gpuwriter import GpuWriter |
| |
| app = create_app() |
| CORS(app, |
| resources={r"/*": {"origins": "*"}}, |
| supports_credentials=True, |
| allow_headers=["Content-Type", "Authorization"] |
| ) |
| |
| proc = psutil.Process(os.getpid()) |
| |
| @app.before_request |
| def before_request(): |
| g.start_time = time.time() |
| g.start_cpu = proc.cpu_times() |
| g.start_mem = proc.memory_info() |
| |
| @app.after_request |
| def after_request(response): |
| try: |
| # 记录GPU使用情况 |
| gpu_writer = GpuWriter(Config.SQLURL) |
| gpus = GPUtil.getGPUs() |
| |
| for gpu in gpus: |
| gpu_writer.write_gpu_usage( |
| gpu_id=gpu.id, |
| gpu_usage=gpu.load * 100, # 转换为百分比 |
| gpu_memory_usage=gpu.memoryUsed # MB |
| ) |
| except Exception as e: |
| print(f"GPU使用情况记录失败: {e}") |
| |
| return response |
| |
| if __name__ == "__main__": |
| app.run(debug=True,port=8082,host='0.0.0.0') |