mirror of
https://github.com/ONLYOFFICE/server.git
synced 2026-04-07 14:04:35 +08:00
[feat] load gc params from runtime.json
This commit is contained in:
@ -53,7 +53,7 @@ var cfgExpFilesCron = config.get('services.CoAuthoring.expire.filesCron');
|
|||||||
var cfgExpDocumentsCron = config.get('services.CoAuthoring.expire.documentsCron');
|
var cfgExpDocumentsCron = config.get('services.CoAuthoring.expire.documentsCron');
|
||||||
var cfgExpFiles = config.get('services.CoAuthoring.expire.files');
|
var cfgExpFiles = config.get('services.CoAuthoring.expire.files');
|
||||||
var cfgExpFilesRemovedAtOnce = config.get('services.CoAuthoring.expire.filesremovedatonce');
|
var cfgExpFilesRemovedAtOnce = config.get('services.CoAuthoring.expire.filesremovedatonce');
|
||||||
var cfgForceSaveStep = ms(config.get('services.CoAuthoring.autoAssembly.step'));
|
var cfgForceSaveStep = config.get('services.CoAuthoring.autoAssembly.step');
|
||||||
|
|
||||||
function getCronStep(cronTime){
|
function getCronStep(cronTime){
|
||||||
let cronJob = new cron.CronJob(cronTime, function(){});
|
let cronJob = new cron.CronJob(cronTime, function(){});
|
||||||
@ -73,7 +73,10 @@ var checkFileExpire = function(expireSeconds) {
|
|||||||
var currentRemovedCount;
|
var currentRemovedCount;
|
||||||
do {
|
do {
|
||||||
currentRemovedCount = 0;
|
currentRemovedCount = 0;
|
||||||
expired = yield taskResult.getExpired(ctx, cfgExpFilesRemovedAtOnce, expireSeconds ?? cfgExpFiles);
|
yield ctx.initTenantCache();
|
||||||
|
const expFiles = ctx.getCfg('services.CoAuthoring.expire.files', cfgExpFiles);
|
||||||
|
const expFilesRemovedAtOnce = ctx.getCfg('services.CoAuthoring.expire.filesremovedatonce', cfgExpFilesRemovedAtOnce);
|
||||||
|
expired = yield taskResult.getExpired(ctx, expFilesRemovedAtOnce, expireSeconds ?? expFiles);
|
||||||
for (var i = 0; i < expired.length; ++i) {
|
for (var i = 0; i < expired.length; ++i) {
|
||||||
let tenant = expired[i].tenant;
|
let tenant = expired[i].tenant;
|
||||||
let docId = expired[i].id;
|
let docId = expired[i].id;
|
||||||
@ -99,7 +102,10 @@ var checkFileExpire = function(expireSeconds) {
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
ctx.logger.error('checkFileExpire error: %s', e.stack);
|
ctx.logger.error('checkFileExpire error: %s', e.stack);
|
||||||
} finally {
|
} finally {
|
||||||
setTimeout(checkFileExpire, expFilesStep);
|
yield ctx.initTenantCache();
|
||||||
|
const currentFilesCron = ctx.getCfg('services.CoAuthoring.expire.filesCron', cfgExpFilesCron);
|
||||||
|
const currentExpFilesStep = getCronStep(currentFilesCron);
|
||||||
|
setTimeout(checkFileExpire, currentExpFilesStep);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -147,7 +153,10 @@ var checkDocumentExpire = function() {
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
ctx.logger.error('checkDocumentExpire error: %s', e.stack);
|
ctx.logger.error('checkDocumentExpire error: %s', e.stack);
|
||||||
}
|
}
|
||||||
setTimeout(checkDocumentExpire, expDocumentsStep);
|
yield ctx.initTenantCache();
|
||||||
|
const currentDocumentsCron = ctx.getCfg('services.CoAuthoring.expire.documentsCron', cfgExpDocumentsCron);
|
||||||
|
const currentExpDocumentsStep = getCronStep(currentDocumentsCron);
|
||||||
|
setTimeout(checkDocumentExpire, currentExpDocumentsStep);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -198,15 +207,26 @@ let forceSaveTimeout = function() {
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
ctx.logger.error('checkDocumentExpire error: %s', e.stack);
|
ctx.logger.error('checkDocumentExpire error: %s', e.stack);
|
||||||
}
|
}
|
||||||
setTimeout(forceSaveTimeout, cfgForceSaveStep);
|
yield ctx.initTenantCache();
|
||||||
|
const currentForceSaveStep = ctx.getCfg('services.CoAuthoring.autoAssembly.step', cfgForceSaveStep);
|
||||||
|
setTimeout(forceSaveTimeout, ms(currentForceSaveStep));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.startGC = function() {
|
exports.startGC = async function() {
|
||||||
setTimeout(checkDocumentExpire, expDocumentsStep);
|
const ctx = new operationContext.Context();
|
||||||
setTimeout(checkFileExpire, expFilesStep);
|
await ctx.initTenantCache();
|
||||||
setTimeout(forceSaveTimeout, cfgForceSaveStep);
|
const currentDocumentsCron = ctx.getCfg('services.CoAuthoring.expire.documentsCron', cfgExpDocumentsCron);
|
||||||
|
const currentExpDocumentsStep = getCronStep(currentDocumentsCron);
|
||||||
|
setTimeout(checkDocumentExpire, currentExpDocumentsStep);
|
||||||
|
|
||||||
|
const currentFilesCron = ctx.getCfg('services.CoAuthoring.expire.filesCron', cfgExpFilesCron);
|
||||||
|
const currentExpFilesStep = getCronStep(currentFilesCron);
|
||||||
|
setTimeout(checkFileExpire, currentExpFilesStep);
|
||||||
|
|
||||||
|
const currentForceSaveStep = ctx.getCfg('services.CoAuthoring.autoAssembly.step', cfgForceSaveStep);
|
||||||
|
setTimeout(forceSaveTimeout, ms(currentForceSaveStep));
|
||||||
};
|
};
|
||||||
exports.getCronStep = getCronStep;
|
exports.getCronStep = getCronStep;
|
||||||
exports.checkFileExpire = checkFileExpire;
|
exports.checkFileExpire = checkFileExpire;
|
||||||
|
|||||||
Reference in New Issue
Block a user