diff --git a/packages/cli/src/config/schema.ts b/packages/cli/src/config/schema.ts index 7af99908f1..2a082d421d 100644 --- a/packages/cli/src/config/schema.ts +++ b/packages/cli/src/config/schema.ts @@ -305,7 +305,7 @@ export const schema = { }, // To not exceed the database's capacity and keep its size moderate - // the execution data gets pruned regularly (default: 1 hour interval). + // the execution data gets pruned regularly (default: 15 minute interval). // All saved execution data older than the max age will be deleted. // Pruning is currently not activated by default, which will change in // a future version. @@ -321,6 +321,12 @@ export const schema = { default: 336, env: 'EXECUTIONS_DATA_MAX_AGE', }, + pruneDataInterval: { + doc: 'How often (minutes) execution data should be hard-deleted', + format: Number, + default: 15, + env: 'EXECUTIONS_DATA_PRUNE_INTERVAL', + }, // Additional pruning option to delete executions if total count exceeds the configured max. // Deletes the oldest entries first diff --git a/packages/cli/src/databases/repositories/execution.repository.ts b/packages/cli/src/databases/repositories/execution.repository.ts index bc8ed8e858..dc09433f2c 100644 --- a/packages/cli/src/databases/repositories/execution.repository.ts +++ b/packages/cli/src/databases/repositories/execution.repository.ts @@ -88,7 +88,7 @@ export class ExecutionRepository extends Repository { private rates: Record = { softDeletion: 1 * TIME.HOUR, - hardDeletion: 15 * TIME.MINUTE, + hardDeletion: config.getEnv('executions.pruneDataInterval') * TIME.MINUTE, }; private isMainInstance = config.get('generic.instanceType') === 'main';