From 004902ae72bf2c168f4b8a04a35497c8e210ef99 Mon Sep 17 00:00:00 2001 From: liuwei Date: Tue, 10 Jun 2025 12:39:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E6=8E=A8=E9=80=81=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/dashboard/blueprints/message_push.py | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/admin/dashboard/blueprints/message_push.py b/admin/dashboard/blueprints/message_push.py index 098761b..7c7cc6a 100644 --- a/admin/dashboard/blueprints/message_push.py +++ b/admin/dashboard/blueprints/message_push.py @@ -329,3 +329,37 @@ def api_task_logs(task_id): except Exception as e: logger.error(f"获取任务日志失败: {e}") return jsonify({"success": False, "error": str(e)}), 500 + + +@message_push_bp.route('/api/statistics', methods=['GET']) +@login_required +def api_statistics(): + """获取任务统计信息API""" + try: + # 获取任务数据库实例 + db = current_app.dashboard_server.task_db + + # 获取各种状态的任务数量 + total = db.get_tasks_count() + scheduled = db.get_tasks_count_by_status('scheduled') + paused = db.get_tasks_count_by_status('paused') + completed = db.get_tasks_count_by_status('completed') + failed = db.get_tasks_count_by_status('failed') + + # 获取今日任务数量 + today = db.get_tasks_count_by_date(datetime.now().strftime('%Y-%m-%d')) + + return jsonify({ + "success": True, + "data": { + "total": total, + "scheduled": scheduled, + "paused": paused, + "completed": completed, + "failed": failed, + "today": today + } + }) + except Exception as e: + logger.error(f"获取任务统计信息失败: {e}") + return jsonify({"success": False, "error": str(e)}), 500