diff --git a/admin/judges_scheduler_status.php b/admin/judges_scheduler_status.php index 5b7f0132..42beaa0d 100644 --- a/admin/judges_scheduler_status.php +++ b/admin/judges_scheduler_status.php @@ -62,6 +62,13 @@ function getHTTPObject() var http=getHTTPObject(); +var starttime=0; +var startpercent=0; +var deltatime=0; +var deltapercent=0; +var avgtimeperpercent=0; +var remainingpercent=0; +var remainingtime=0; function updateStatus() { @@ -90,6 +97,7 @@ function handleResponse() { document.getElementById('schedulerpercent').innerHTML="100%"; document.getElementById('updatestatus').innerHTML="Scheduling Complete"; + document.getElementById('schedulereta').innerHTML="Complete"; } else { @@ -97,6 +105,23 @@ function handleResponse() setTimeout('updateStatus()',5000); document.getElementById('updatestatus').innerHTML="Updating... Done!"; setTimeout('clearUpdatingMessage()',500); + + var currentTime=new Date(); + if(starttime==0) + { + starttime=currentTime.getTime(); + startpercent=obj[0]; + } + deltatime=currentTime.getTime()-starttime; + deltapercent=obj[0]-startpercent; + + avgtimeperpercent=deltatime/deltapercent; + remainingpercent=100-obj[0]; + remainingtime=remainingpercent*avgtimeperpercent; + if(remainingtime && obj[0]>0) + document.getElementById('schedulereta').innerHTML=Math.round(remainingtime/1000)+" seconds"; + else + document.getElementById('schedulereta').innerHTML="Calculating..."; } } } @@ -123,6 +148,7 @@ else echo ""; echo ""; echo ""; + echo ""; echo ""; echo "
".i18n("Scheduler status").":
".i18n("Scheduler percent").":
".i18n("Scheduler ETA").":
";