From bb7e56e39e8a8bb0a05c371581236a50d133b6d8 Mon Sep 17 00:00:00 2001 From: Martin Konecny Date: Thu, 14 Feb 2013 12:58:31 -0500 Subject: [PATCH] CC-4943: Raspberry Pi optimization: don't create new background AJAX request until the previous one has returned -fixed --- airtime_mvc/public/js/airtime/dashboard/dashboard.js | 6 ++++-- airtime_mvc/public/js/airtime/library/library.js | 5 +++-- .../public/js/airtime/preferences/streamsetting.js | 8 +++++--- .../public/js/airtime/schedule/full-calendar-functions.js | 6 ++++-- airtime_mvc/public/js/airtime/schedule/schedule.js | 4 +++- airtime_mvc/public/js/airtime/showbuilder/main_builder.js | 3 ++- airtime_mvc/public/js/airtime/status/status.js | 2 +- 7 files changed, 22 insertions(+), 12 deletions(-) diff --git a/airtime_mvc/public/js/airtime/dashboard/dashboard.js b/airtime_mvc/public/js/airtime/dashboard/dashboard.js index 3b2cad458..38d357523 100644 --- a/airtime_mvc/public/js/airtime/dashboard/dashboard.js +++ b/airtime_mvc/public/js/airtime/dashboard/dashboard.js @@ -360,13 +360,15 @@ function controlSwitchLight(){ } function getScheduleFromServer(){ - $.ajax({ url: baseUrl+"Schedule/get-current-playlist/format/json", dataType:"json", success:function(data){ + $.ajax({ url: baseUrl+"Schedule/get-current-playlist/format/json", + dataType:"json", + success:function(data){ parseItems(data.entries); parseSourceStatus(data.source_status); parseSwitchStatus(data.switch_status); showName = data.show_name; + setTimeout(getScheduleFromServer, serverUpdateInterval); }, error:function(jqXHR, textStatus, errorThrown){}}); - setTimeout(getScheduleFromServer, serverUpdateInterval); } function setupQtip(){ diff --git a/airtime_mvc/public/js/airtime/library/library.js b/airtime_mvc/public/js/airtime/library/library.js index aae972017..dd0574a03 100644 --- a/airtime_mvc/public/js/airtime/library/library.js +++ b/airtime_mvc/public/js/airtime/library/library.js @@ -768,8 +768,7 @@ var AIRTIME = (function(AIRTIME) { }); checkImportStatus(); - setInterval(checkImportStatus, 5000); - setInterval(checkLibrarySCUploadStatus, 5000); + checkLibrarySCUploadStatus(); addQtipToSCIcons(); @@ -997,6 +996,7 @@ function checkImportStatus() { } div.hide(); } + setTimeout(checkImportStatus, 5000); }); } @@ -1030,6 +1030,7 @@ function checkLibrarySCUploadStatus(){ else if (json.sc_id == "-3") { span.removeClass("progress").addClass("sc-error"); } + setTimeout(checkLibrarySCUploadStatus, 5000); } function checkSCUploadStatusRequest() { diff --git a/airtime_mvc/public/js/airtime/preferences/streamsetting.js b/airtime_mvc/public/js/airtime/preferences/streamsetting.js index 6e76b693c..31724ac8d 100644 --- a/airtime_mvc/public/js/airtime/preferences/streamsetting.js +++ b/airtime_mvc/public/js/airtime/preferences/streamsetting.js @@ -103,6 +103,8 @@ function checkLiquidsoapStatus(){ } $("#s"+id+"Liquidsoap-error-msg-element").html(html); } + + setTimeout(checkLiquidsoapStatus, 2000); }); } @@ -242,10 +244,10 @@ function setupEventListeners() { return false; }) - setLiveSourceConnectionOverrideListener() + setLiveSourceConnectionOverrideListener(); - showErrorSections() - setInterval('checkLiquidsoapStatus()', 1000) + showErrorSections(); + checkLiquidsoapStatus(); // qtip for help text $(".override_help_icon").qtip({ diff --git a/airtime_mvc/public/js/airtime/schedule/full-calendar-functions.js b/airtime_mvc/public/js/airtime/schedule/full-calendar-functions.js index 192d811fe..0dd4a5484 100644 --- a/airtime_mvc/public/js/airtime/schedule/full-calendar-functions.js +++ b/airtime_mvc/public/js/airtime/schedule/full-calendar-functions.js @@ -372,6 +372,7 @@ function checkSCUploadStatus(){ }else if(json.sc_id == "-3"){ $("span[id="+id+"]:not(.recording)").removeClass("progress").addClass("sc-error"); } + setTimeout(checkSCUploadStatus, 5000); }); }); } @@ -424,6 +425,7 @@ function getCurrentShow(){ $(this).remove("span[small-icon now-playing]"); } }); + setTimeout(getCurrentShow, 5000); }); } @@ -564,8 +566,8 @@ function alertShowErrorAndReload(){ preloadEventFeed(); $(document).ready(function(){ - setInterval( "checkSCUploadStatus()", 5000 ); - setInterval( "getCurrentShow()", 5000 ); + checkSCUploadStatus(); + getCurrentShow(); }); var view_name; diff --git a/airtime_mvc/public/js/airtime/schedule/schedule.js b/airtime_mvc/public/js/airtime/schedule/schedule.js index 3c4f9fd3b..edcf183f0 100644 --- a/airtime_mvc/public/js/airtime/schedule/schedule.js +++ b/airtime_mvc/public/js/airtime/schedule/schedule.js @@ -93,6 +93,8 @@ function checkCalendarSCUploadStatus(){ else if (json.sc_id == "-3") { span.removeClass("progress").addClass("sc-error"); } + + setTimeout(checkCalendarSCUploadStatus, 5000); } function checkSCUploadStatusRequest() { @@ -328,7 +330,7 @@ function alertShowErrorAndReload(){ } $(document).ready(function() { - setInterval(checkCalendarSCUploadStatus, 5000); + checkCalendarSCUploadStatus(); $.contextMenu({ selector: 'div.fc-event', diff --git a/airtime_mvc/public/js/airtime/showbuilder/main_builder.js b/airtime_mvc/public/js/airtime/showbuilder/main_builder.js index 214bc9714..98a1915a5 100644 --- a/airtime_mvc/public/js/airtime/showbuilder/main_builder.js +++ b/airtime_mvc/public/js/airtime/showbuilder/main_builder.js @@ -277,12 +277,13 @@ AIRTIME = (function(AIRTIME) { if (json.update === true) { oTable.fnDraw(); } + setTimeout(checkScheduleUpdates, 5000); } }); } //check if the timeline view needs updating. - setInterval(checkScheduleUpdates, 5 * 1000); //need refresh in milliseconds + checkScheduleUpdates(); }; mod.onResize = function() { diff --git a/airtime_mvc/public/js/airtime/status/status.js b/airtime_mvc/public/js/airtime/status/status.js index 9b5e4d3ea..ef3358e7a 100644 --- a/airtime_mvc/public/js/airtime/status/status.js +++ b/airtime_mvc/public/js/airtime/status/status.js @@ -66,6 +66,7 @@ function success(data, textStatus, jqXHR){ if (data.status.partitions){ generatePartitions(data.status.partitions); } + setTimeout(function(){updateStatus(false);}, 5000); } function updateStatus(getDiskInfo){ @@ -75,5 +76,4 @@ function updateStatus(getDiskInfo){ $(document).ready(function() { updateStatus(true); - setInterval(function(){updateStatus(false);}, 5000); });