Package coprs :: Package views :: Package status_ns :: Module status_general
[hide private]
[frames] | no frames]

Source Code for Module coprs.views.status_ns.status_general

 1  import flask 
 2  from time import time 
 3   
 4  from copr_common.enums import StatusEnum 
 5  from coprs.views.status_ns import status_ns 
 6  from coprs.logic import builds_logic 
 7  from coprs.logic import complex_logic 
8 9 10 @status_ns.context_processor 11 -def inject_common_blueprint_variables():
12 return dict(queue_sizes=complex_logic.ComplexLogic.get_queue_sizes())
13
14 15 @status_ns.route("/") 16 @status_ns.route("/pending/") 17 -def pending():
18 tasks = builds_logic.BuildsLogic.get_pending_build_tasks(background=False).limit(300).all() 19 bg_tasks_cnt = builds_logic.BuildsLogic.get_pending_build_tasks(background=True).count() 20 return render_status("pending", tasks=tasks, bg_tasks_cnt=bg_tasks_cnt)
21
22 23 @status_ns.route("/running/") 24 -def running():
25 tasks = builds_logic.BuildsLogic.get_build_tasks(StatusEnum("running")).limit(300).all() 26 return render_status("running", tasks=tasks)
27
28 29 @status_ns.route("/importing/") 30 -def importing():
31 tasks = builds_logic.BuildsLogic.get_build_importing_queue(background=False).limit(300).all() 32 bg_tasks_cnt = builds_logic.BuildsLogic.get_build_importing_queue(background=True).count() 33 return render_status("importing", tasks=tasks, bg_tasks_cnt=bg_tasks_cnt)
34
35 36 -def render_status(build_status, tasks, bg_tasks_cnt=None):
37 return flask.render_template("status/{}.html".format(build_status), number=len(tasks), 38 tasks=tasks, bg_tasks_cnt=bg_tasks_cnt)
39
40 41 @status_ns.route("/stats/") 42 -def stats():
43 curr_time = int(time()) 44 chroots_24h = builds_logic.BuildsLogic.get_chroot_histogram(curr_time - 86400, curr_time) 45 chroots_90d = builds_logic.BuildsLogic.get_chroot_histogram(curr_time - 90*86400, curr_time) 46 data_24h = builds_logic.BuildsLogic.get_task_graph_data('10min') 47 data_90d = builds_logic.BuildsLogic.get_task_graph_data('24h') 48 49 return flask.render_template("status/stats.html", 50 data1=data_24h, 51 data2=data_90d, 52 chroots1=chroots_24h, 53 chroots2=chroots_90d)
54