Try to reconnect to tvheadend's comet feed if we get disconnected.
This commit is contained in:
parent
de759a1f88
commit
57c9329149
1 changed files with 34 additions and 21 deletions
|
@ -21,35 +21,48 @@ tvheadend.comet = new Comet();
|
|||
|
||||
|
||||
tvheadend.cometPoller = function() {
|
||||
|
||||
|
||||
var failures = 0;
|
||||
var boxid = null;
|
||||
|
||||
var cometRequest = new Ext.util.DelayedTask(function() {
|
||||
|
||||
Ext.Ajax.request({
|
||||
url: 'comet',
|
||||
params : boxid ? { boxid: boxid } : null,
|
||||
success: function(result, request) {
|
||||
parse_comet_response(result.responseText);
|
||||
|
||||
if(failures > 2) {
|
||||
tvheadend.log('Reconnected to Tvheadend',
|
||||
'font-weight: bold; color: #080');
|
||||
}
|
||||
failures = 0;
|
||||
},
|
||||
failure: function(result, request) {
|
||||
cometRequest.delay(failures > 10 ? 5000 : failures * 500);
|
||||
if(failures > 2) {
|
||||
tvheadend.log('There seems to be a problem with the ' +
|
||||
'live update feed from Tvheadend. ' +
|
||||
'Trying to reconnect...',
|
||||
'font-weight: bold; color: #f00');
|
||||
}
|
||||
failures++;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function parse_comet_response(responsetxt) {
|
||||
response = Ext.util.JSON.decode(responsetxt);
|
||||
boxid = response.boxid
|
||||
for(x = 0; x < response.messages.length; x++) {
|
||||
m = response.messages[x];
|
||||
tvheadend.comet.fireEvent(m.notificationClass, m);
|
||||
}
|
||||
|
||||
Ext.Ajax.request({
|
||||
url: '/comet',
|
||||
params : { boxid: response.boxid },
|
||||
success: function(result, request) {
|
||||
parse_comet_response(result.responseText);
|
||||
},
|
||||
failure: function(result, request) {
|
||||
tvheadend.log('Connection to server lost' +
|
||||
', please reload user interface',
|
||||
'font-weight: bold; color: #f00');
|
||||
}
|
||||
});
|
||||
|
||||
cometRequest.delay(100);
|
||||
};
|
||||
|
||||
Ext.Ajax.request({
|
||||
url: '/comet',
|
||||
success: function(result, request) {
|
||||
parse_comet_response(result.responseText);
|
||||
}
|
||||
});
|
||||
cometRequest.delay(100);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue