Changed vacuum operation to run on startup only. Also it is now off by default.

This commit is contained in:
Omar Ajoue 2021-01-04 09:30:02 +01:00
parent d528e442ba
commit 04a8912a94
2 changed files with 8 additions and 10 deletions

View file

@ -160,12 +160,10 @@ export class Start extends Command {
const dbType = await GenericHelpers.getConfigValue('database.type') as DatabaseType;
if (dbType === 'sqlite') {
const vacuumInterval = config.get('database.sqlite.vacuumInterval') as number;
if (vacuumInterval >= 0) {
const shouldRunVacuum = config.get('database.sqlite.executeVacuumOnStartup') as number;
if (shouldRunVacuum) {
console.log('ran vacuum');
Db.collections.Execution!.query("VACUUM;");
if (vacuumInterval > 0) {
setInterval(() => Db.collections.Execution!.query("VACUUM;"), vacuumInterval * 1000);
}
}
}

View file

@ -125,11 +125,11 @@ const config = convict({
},
},
sqlite: {
vacuumInterval: {
doc: 'SQLite Vacuum operation interval',
format: Number,
default: 86400, // Given in seconds; -1 disables. 0 executes only at startup.
env: 'DB_SQLITE_VACUUM_INTERVAL',
executeVacuumOnStartup: {
doc: 'Runs VACUUM operation on startup to rebuild the database. Reduces filesize and optimizes indexes. WARNING: This is a long running blocking operation. Will increase boot time.',
format: Boolean,
default: false,
env: 'DB_SQLITE_VACUUM_ON_STARTUP',
},
},
},