{% extends base.html %} {% block js %} function update_queue_status(response) { var table = document.getElementById("queue_status_table"); while (table.rows.length > 1) table.deleteRow(1); if (response['status'] == 'unconnected') table.insertRow(-1).innerHTML = "EvaluationServer not connected."; else if (response['status'] == 'not authorized') table.insertRow(-1).innerHTML = "You are not authorized to see the queue status."; else if (response['status'] == 'fail') table.insertRow(-1).innerHTML = "Call to EvaluationServer failed."; else if (response['status'] == 'ok') { if (response['data'].length == 0) table.insertRow(-1).innerHTML = "Queue empty."; else { for (var i = 0; i < response['data'].length; i++) { var row = table.insertRow(-1); var job = utils.repr_job(response['data'][i]['job']); var date = utils.repr_time_ago(response['data'][i]['timestamp']); row.innerHTML = '' + (i + 1) + '' + '' + job + '' + '' + response['data'][i]['priority'] + '' + '' + date + ''; } } } else table.insertRow(-1).innerHTML = "Unexpected reply. This should not happen."; }; function update_workers_status(response) { var table = document.getElementById("workers_status_table"); while (table.rows.length > 1) table.deleteRow(1); if (response['status'] == 'unconnected') table.insertRow(-1).innerHTML = "EvaluationServer not connected."; else if (response['status'] == 'not authorized') table.insertRow(-1).innerHTML = "You are not authorized to see the workers status."; else if (response['status'] == 'fail') table.insertRow(-1).innerHTML = "Call to EvaluationServer failed."; else if (response['status'] == 'ok') { if (response['data'].length == 0) table.insertRow(-1).innerHTML = "No workers found."; else { for (i in response['data']) { var row = table.insertRow(-1); var job = utils.repr_job(response['data'][i]['job']); var start_time = utils.repr_time_ago(response['data'][i]['start_time']); var connected = "Yes"; if (response['data'][i]['connected'] == false) connected = "No"; row.innerHTML = '' + i + '' + '' + connected + '' + '' + response['data'][i]['error_count'] + '' + '' + job + '' + '' + start_time + ''; } } } else table.insertRow(-1).innerHTML = "Unexpected reply. This should not happen."; }; function update_logs(response) { var table = document.getElementById("logs_table"); while(table.rows.length > 1) table.deleteRow(1); if (response['status'] == 'unconnected') table.insertRow(-1).innerHTML = "LogService not connected."; else if (response['status'] == 'not authorized') table.insertRow(-1).innerHTML = "You are not authorized to see the logs."; else if (response['status'] == 'fail') table.insertRow(-1).innerHTML = "Call to LogService failed."; else if (response['status'] == 'ok') { if (response['data'].length == 0) table.insertRow(-1).innerHTML = "No log entries."; else { response['data'] = response['data'].reverse() for (i in response['data']) { var row = table.insertRow(-1); var message = response['data'][i]['message']; var coord = response['data'][i]['coord']; var operation = response['data'][i]['operation']; var severity = response['data'][i]['severity']; var timestamp = utils.format_time_or_date(response['data'][i]['timestamp']); row.innerHTML = '' + timestamp + '' + '' + severity + '' + '' + coord + '' + '' + operation + '' + '' + message + ''; } } } else table.insertRow(-1).innerHTML = "Unexpected reply. This should not happen."; } function update_statuses() { cmsrpc.request("EvaluationServer", 0, "queue_status", {}, update_queue_status); cmsrpc.request("EvaluationServer", 0, "workers_status", {}, update_workers_status); cmsrpc.request("LogService", 0, "last_messages", {}, update_logs); } {% end %} {% block js_init %} setInterval(update_statuses, 5000); update_statuses(); {% end %} {% block core %}

Overview

Queue status

Id Job Priority Since

Workers status

Shard Connected Errors Current job Since

Logs

Timestamp Severity Service Operation Message
{% end %}