Auto adjusting AJAX timeout when polling for the progress JSON closes #45
rodzic
3426f76518
commit
d21417dd0c
|
@ -1,4 +1,17 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* CUSF Landing Prediction Version 2
|
||||
* http://www.cuspaceflight.co.uk
|
||||
*
|
||||
* Jon Sowman 2010
|
||||
* jon@hexoc.com
|
||||
* http://www.hexoc.com
|
||||
*
|
||||
* http://github.com/jonsowman/cusf-standalone-predictor
|
||||
*
|
||||
*/
|
||||
|
||||
require_once("includes/functions.inc.php");
|
||||
// get the time for pre-populating the form
|
||||
$time = time() + 3600;
|
||||
|
@ -32,6 +45,9 @@ var land_img = "images/target-8-sm.png";
|
|||
var burst_img = "images/pop-marker.png";
|
||||
var clickListener;
|
||||
var clickMarker;
|
||||
var ajaxTimeout = 500;
|
||||
var maxAjaxTimeout = 2000;
|
||||
var deltaAjaxTimeout = 100;
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
|
|
@ -172,10 +172,26 @@ function getJSONProgress(pred_uuid) {
|
|||
$.ajax({
|
||||
url:"preds/"+pred_uuid+"/progress.json",
|
||||
dataType:'json',
|
||||
timeout: 1000,
|
||||
// complete: function(data, httpstatus) {
|
||||
// appendDebug(httpstatus);
|
||||
// },
|
||||
timeout: ajaxTimeout,
|
||||
error: function(xhr, status, error) {
|
||||
if ( status == "timeout" ) {
|
||||
appendDebug("Polling for progress JSON timed out");
|
||||
// check that we haven't reached maximum allowed timeout
|
||||
if ( ajaxTimeout < maxAjaxTimeout ) {
|
||||
// if not, add the delta to the timeout value
|
||||
newTimeout = ajaxTimeout + deltaAjaxTimeout;
|
||||
appendDebug("Increasing AJAX timeout from " + ajaxTimeout
|
||||
+ "ms to " + newTimeout + "ms");
|
||||
ajaxTimeout = newTimeout;
|
||||
} else {
|
||||
// otherwise, throw an error and kill the poller
|
||||
clearInterval(ajaxEventHandle);
|
||||
appendDebug("Reached maximum ajaxTimeout value of " + maxAjaxTimeout);
|
||||
throwError("Tried increasing the AJAX polling timeout to "+maxAjaxTimeout
|
||||
+"ms but the request still timed out.");
|
||||
}
|
||||
}
|
||||
},
|
||||
success: processProgress
|
||||
});
|
||||
}
|
||||
|
|
Ładowanie…
Reference in New Issue