add gpuusage的逻辑
Change-Id: Ie1634a7d58ab94b05a3ebd7de87d362ca9be2286
diff --git a/Merge/back_rhj/app/routes.py b/Merge/back_rhj/app/routes.py
index 6f159ca..0b60624 100644
--- a/Merge/back_rhj/app/routes.py
+++ b/Merge/back_rhj/app/routes.py
@@ -2,6 +2,7 @@
from .functions.FAuth import FAuth
from app.services.recommendation_service import RecommendationService
from app.utils.graph_build import build_user_post_graph
+from app.utils.gpuwriter import GpuWriter
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from config import Config
@@ -409,3 +410,37 @@
'success': False,
'message': f'推荐获取失败: {str(e)}'
}), 500
+
+@main.route('/gpu-usage', methods=['GET'])
+@token_required
+def get_gpu_usage(current_user):
+ """获取最新GPU使用情况接口"""
+ try:
+ limit = request.args.get('limit', 100, type=int)
+
+ # 限制最大获取条数
+ if limit > 1000:
+ limit = 1000
+
+ print(f"获取最新 {limit} 条GPU使用记录")
+
+ # 创建GpuWriter实例并获取数据
+ gpu_writer = GpuWriter(Config.SQLURL)
+ gpu_records = gpu_writer.get_latest_gpu_usage(limit)
+
+ return jsonify({
+ 'success': True,
+ 'data': {
+ 'records': gpu_records,
+ 'count': len(gpu_records),
+ 'limit': limit
+ },
+ 'message': 'GPU使用情况获取成功'
+ }), 200
+
+ except Exception as e:
+ print(f"获取GPU使用情况错误: {str(e)}")
+ return jsonify({
+ 'success': False,
+ 'message': f'获取GPU使用情况失败: {str(e)}'
+ }), 500