Files
ComiPy/router/performance_api.py
Kaku 8c4e5885c7 feat(file): 优化文件处理和缓存机制
- 重构文件处理逻辑,提高性能和可维护性
- 增加缓存机制,减少重复读取和处理
- 改进错误处理和日志记录
- 优化缩略图生成算法
- 添加性能监控和测试依赖
2025-07-11 00:21:57 +08:00

62 lines
1.8 KiB
Python

from flask import Blueprint, render_template, jsonify, request
from utils.performance_monitor import get_performance_monitor
from utils.cache_manager import get_cache_manager
performance_bp = Blueprint("performance_bp", __name__)
@performance_bp.route("/api/performance/stats")
def performance_stats():
"""获取性能统计信息"""
if request.cookies.get("islogin") is None:
return jsonify({"error": "Unauthorized"}), 403
monitor = get_performance_monitor()
cache_manager = get_cache_manager()
operation_name = request.args.get("operation")
stats = {
"performance": monitor.get_stats(operation_name),
"cache": cache_manager.get_stats(),
"recent_errors": monitor.get_recent_errors(5)
}
return jsonify(stats)
@performance_bp.route("/api/performance/clear")
def clear_performance_data():
"""清空性能监控数据"""
if request.cookies.get("islogin") is None:
return jsonify({"error": "Unauthorized"}), 403
monitor = get_performance_monitor()
monitor.clear_metrics()
return jsonify({"message": "Performance data cleared"})
@performance_bp.route("/api/cache/clear")
def clear_cache():
"""清空缓存"""
if request.cookies.get("islogin") is None:
return jsonify({"error": "Unauthorized"}), 403
cache_manager = get_cache_manager()
cache_manager.clear()
return jsonify({"message": "Cache cleared"})
@performance_bp.route("/api/cache/cleanup")
def cleanup_cache():
"""清理过期缓存"""
if request.cookies.get("islogin") is None:
return jsonify({"error": "Unauthorized"}), 403
cache_manager = get_cache_manager()
cache_manager.cleanup_expired()
return jsonify({"message": "Expired cache cleaned up"})