2 <img src="<%=$this->getPage()->getTheme()->getBaseUrl()%>/gearwheel-icon.png" alt="<%[ Running jobs: ]%>" /> <%[ Running jobs: ]%> <span class="bold" id="running_jobs"></span>
3 <img src="<%=$this->getPage()->getTheme()->getBaseUrl()%>/check-icon.png" alt="<%[ Finished jobs: ]%>" /> <%[ Finished jobs: ]%> <span class="bold" id="finished_jobs"></span>
5 <script type="text/javascript">
7 var default_refresh_interval = 60000;
8 var default_fast_refresh_interval = 10000;
10 var last_callback_time = 0;
11 var callback_time_offset = 0;
14 oMonitor = function() {
15 return $.ajax('<%=$this->Service->constructUrl("Monitor")%>', {
17 beforeSend: function() {
18 if (job_callback_duration) {
19 callback_time_offset = job_callback_duration - last_callback_time;
21 last_callback_time = new Date().getTime();
23 success: function(response) {
24 if (timeout_handler) {
25 clearTimeout(timeout_handler);
28 Statistics.grab_statistics(oData, oJobsStates);
30 if (PanelWindow.currentWindowId === 'dashboard') {
31 Dashboard.update_all(Statistics, TEXT);
34 if (oData.running_jobs.length > 0) {
35 refreshInterval = callback_time_offset + default_fast_refresh_interval;
37 refreshInterval = default_refresh_interval;
40 status_callback_func();
41 document.getElementById('running_jobs').textContent = oData.running_jobs.length;
42 document.getElementById('finished_jobs').textContent = oData.terminated_jobs.length;
43 timeout_handler = setTimeout("oMonitor()", refreshInterval);