ln.skyscanner/www/crawler/status.html

76 lines
2.3 KiB
HTML

<%frame "frame.html"%>
<div>
<h1>Crawler Status</h1>
<div class="flex column">
<div>
<h2><a href="#" onclick="refreshCrawlerTables(); return false;">Current Jobs</a></h2>
<div style="width: 100%;">
<table id="crCurrentPoolJobs"></table>
</div>
</div>
<div>
<h2>Queued Jobs</h2>
<table id="crQueuedPoolJobs"></table>
</div>
</div>
</div>
<script type="text/javascript">
var crCurrentPoolJobs = null;
var crQueuedPoolJobs = null;
function refreshCrawlerTables()
{
skyapi().call("api/crawler","GetCurrentPoolJobs", [], function(data){
if (!data)
data = []
$("#crCurrentPoolJobs").DataTable().clear();
$("#crCurrentPoolJobs").DataTable().rows.add( data ).draw();
});
skyapi().call("api/crawler","GetQueuedJobs", [], function(data){
if (!data)
data = []
$("#crQueuedPoolJobs").DataTable().clear();
$("#crQueuedPoolJobs").DataTable().rows.add( data ).draw();
});
}
function createCrawlerTables()
{
var pbar = $().dataTable.render.percentBar('round','#fff', '#FF9CAB', '#FF0033', '#FF9CAB', 0, 'solid');
$("#crCurrentPoolJobs").DataTable({
columns: [
{ title: "Name", data: "Name" },
{ title: "Progress", data: "Progress" },
{ title: "State", data: "State" },
{ title: "JobState", data: "JobState" }
],
columnDefs: [
{
targets: 1,
render: function(d, t, row){ d *= 100.0; return pbar(d,t,row); }
}
]
});
$("#crQueuedPoolJobs").DataTable({
columns: [
{ title: "Name", data: "Name" },
{ title: "JobState", data: "JobState" }
],
});
refreshCrawlerTables();
}
createCrawlerTables();
skyapi().addRefresh(refreshCrawlerTables, 1);
</script>