{% 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
Workers status
Shard |
Connected |
Errors |
Current job |
Since |
Logs
Timestamp |
Severity |
Service |
Operation |
Message |
{% end %}