Files
py12306/old_py12306/web/handler/stat.py
2019-05-14 13:21:25 +08:00

56 lines
1.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from flask import Blueprint, request
from flask.json import jsonify
from flask_jwt_extended import (jwt_required)
from py12306.config import Config
from py12306.query.query import Query
from py12306.user.user import User
stat = Blueprint('stat', __name__)
@stat.route('/stat/dashboard', methods=['GET'])
@jwt_required
def dashboard():
"""
状态统计
任务数量,用户数量,查询次数
节点信息TODO
:return:
"""
from py12306.log.query_log import QueryLog
query_job_count = len(Query().jobs)
user_job_count = len(User().users)
query_count = QueryLog().data.get('query_count')
res = {
'query_job_count': query_job_count,
'user_job_count': user_job_count,
'query_count': query_count,
}
if Config().CDN_ENABLED:
from py12306.helpers.cdn import Cdn
res['cdn_count'] = len(Cdn().available_items)
return jsonify(res)
@stat.route('/stat/cluster', methods=['GET'])
@jwt_required
def clusters():
"""
节点统计
节点数量,主节点,子节点列表
:return:
"""
from py12306.cluster.cluster import Cluster
nodes = Cluster().nodes
count = len(nodes)
node_lists = list(nodes)
master = [key for key, val in nodes.items() if int(val) == Cluster.KEY_MASTER]
master = master[0] if master else ''
return jsonify({
'master': master,
'count': count,
'node_lists': ', '.join(node_lists)
})