Merge pull request #23990 from owncloud/heartbeat-debounce
Debounce heartbeat ajax calls to lower the number of requests
This commit is contained in:
commit
6b66f2dfb4
|
@ -1499,9 +1499,15 @@ function initCore() {
|
|||
interval = maxInterval;
|
||||
}
|
||||
var url = OC.generateUrl('/heartbeat');
|
||||
setInterval(function(){
|
||||
$.post(url);
|
||||
}, interval * 1000);
|
||||
var heartBeatTimeout = null;
|
||||
var heartBeat = function() {
|
||||
clearTimeout(heartBeatTimeout);
|
||||
heartBeatTimeout = setInterval(function() {
|
||||
$.post(url);
|
||||
}, interval * 1000);
|
||||
};
|
||||
$(document).ajaxComplete(heartBeat);
|
||||
heartBeat();
|
||||
}
|
||||
|
||||
// session heartbeat (defaults to enabled)
|
||||
|
|
|
@ -305,6 +305,7 @@ describe('Core base tests', function() {
|
|||
counter++;
|
||||
xhr.respond(200, {'Content-Type': 'application/json'}, '{}');
|
||||
});
|
||||
$(document).off('ajaxComplete'); // ignore previously registered heartbeats
|
||||
});
|
||||
afterEach(function() {
|
||||
clock.restore();
|
||||
|
@ -312,6 +313,7 @@ describe('Core base tests', function() {
|
|||
window.oc_config = oldConfig;
|
||||
routeStub.restore();
|
||||
$(document).off('ajaxError');
|
||||
$(document).off('ajaxComplete');
|
||||
});
|
||||
it('sends heartbeat half the session lifetime when heartbeat enabled', function() {
|
||||
/* jshint camelcase: false */
|
||||
|
@ -340,7 +342,7 @@ describe('Core base tests', function() {
|
|||
clock.tick(20 * 1000);
|
||||
expect(counter).toEqual(2);
|
||||
});
|
||||
it('does no send heartbeat when heartbeat disabled', function() {
|
||||
it('does not send heartbeat when heartbeat disabled', function() {
|
||||
/* jshint camelcase: false */
|
||||
window.oc_config = {
|
||||
session_keepalive: false,
|
||||
|
|
Loading…
Reference in New Issue