diff --git a/apps/api/src/valkey/valkey.service.spec.ts b/apps/api/src/valkey/valkey.service.spec.ts index 7de2ed2..5faf5ab 100644 --- a/apps/api/src/valkey/valkey.service.spec.ts +++ b/apps/api/src/valkey/valkey.service.spec.ts @@ -24,6 +24,10 @@ vi.mock("ioredis", () => { return this; } + removeAllListeners() { + return this; + } + // String operations async setex(key: string, ttl: number, value: string) { store.set(key, value); diff --git a/apps/api/src/valkey/valkey.service.ts b/apps/api/src/valkey/valkey.service.ts index f20a40a..8547ac1 100644 --- a/apps/api/src/valkey/valkey.service.ts +++ b/apps/api/src/valkey/valkey.service.ts @@ -63,8 +63,10 @@ export class ValkeyService implements OnModuleInit, OnModuleDestroy { } } - async onModuleDestroy() { + async onModuleDestroy(): Promise { this.logger.log("Disconnecting from Valkey"); + // Remove all event listeners to prevent memory leaks + this.client.removeAllListeners(); await this.client.quit(); }