mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update sync processes
This commit is contained in:
parent
cad461b296
commit
c23547137d
19 changed files with 400 additions and 326 deletions
58
dashboard-ui/apiclient/sync/multiserversync.js
Normal file
58
dashboard-ui/apiclient/sync/multiserversync.js
Normal file
|
@ -0,0 +1,58 @@
|
|||
(function (globalScope) {
|
||||
|
||||
function multiServerSync(connectionManager) {
|
||||
|
||||
self.sync = function () {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
connectionManager.getAvailableServers().done(function (result) {
|
||||
syncNext(result, 0, deferred);
|
||||
});
|
||||
|
||||
return deferred.promise();
|
||||
};
|
||||
|
||||
function syncNext(servers, index, deferred) {
|
||||
|
||||
var length = servers.length;
|
||||
|
||||
if (index >= length) {
|
||||
|
||||
deferred.resolve();
|
||||
return;
|
||||
}
|
||||
|
||||
if (progress.isCancelled) {
|
||||
deferred.reject();
|
||||
return;
|
||||
}
|
||||
|
||||
var server = servers[index];
|
||||
|
||||
// get fresh info from connection manager
|
||||
server = connectionManager.getServerInfo(server.Id) || server;
|
||||
|
||||
Logger.log("Creating ServerSync to server: " + server.Id);
|
||||
|
||||
require(['serversync'], function () {
|
||||
|
||||
new MediaBrowser.ServerSync(connectionManager).sync(server).done(function () {
|
||||
|
||||
syncNext(servers, index + 1, deferred);
|
||||
|
||||
}).fail(function () {
|
||||
|
||||
syncNext(servers, index + 1, deferred);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (!globalScope.MediaBrowser) {
|
||||
globalScope.MediaBrowser = {};
|
||||
}
|
||||
|
||||
globalScope.MediaBrowser.MultiServerSync = multiServerSync;
|
||||
|
||||
})(this);
|
Loading…
Add table
Add a link
Reference in a new issue