blob: 967b9212b30b55c2cc079bd75f082c27a6b339ee [file] [log] [blame] [edit]
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')