From a7d85cb3f684fb3b7e229b42504e9f28fa27701c Mon Sep 17 00:00:00 2001 From: Ammar Ahmed Date: Sat, 25 Nov 2023 13:17:10 +0500 Subject: [PATCH] core: add removeMulti to storage --- packages/core/src/database/storage.js | 4 ++++ packages/core/src/logger.js | 11 +++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/core/src/database/storage.js b/packages/core/src/database/storage.js index 6f027f45d..f49a91d61 100644 --- a/packages/core/src/database/storage.js +++ b/packages/core/src/database/storage.js @@ -48,6 +48,10 @@ export default class Storage { return this.storage.remove(key); } + removeMulti(...keys) { + return this.storage.removeMulti(...keys); + } + getAllKeys() { return this.storage.getAllKeys(); } diff --git a/packages/core/src/logger.js b/packages/core/src/logger.js index 46301c236..de6891f0a 100644 --- a/packages/core/src/logger.js +++ b/packages/core/src/logger.js @@ -96,12 +96,17 @@ class DatabaseLogWriter { async rotate() { const logKeys = (await this.storage.getAllKeys()).sort(); + const keysToRemove = []; for (let key of logKeys) { const keyParts = key.split(":"); if (keyParts.length === 1 || parseInt(keyParts[1]) < Date.now() - WEEK) { - await this.storage.remove(key); + keysToRemove.push(key); } } + + if (keysToRemove.length) { + await this.storage.removeMulti(...keysToRemove); + } } } @@ -137,9 +142,7 @@ class DatabaseLogManager { async clear() { const logKeys = await this.storage.getAllKeys(); - for (const key of logKeys) { - await this.storage.remove(key); - } + await this.storage.removeMulti(...logKeys); } async delete(key) {