diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2023-06-10 13:45:11 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2023-06-10 13:45:11 +0900 |
| commit | e8420ad90bd290a2c10d563f6ccbffd0d4a0a97b (patch) | |
| tree | 90c09fdd6ad4f8a53acb88e0a6218215816f9d47 /packages/backend/src/core/FederatedInstanceService.ts | |
| parent | enhance(backend): WebSocketのPing/Pongをプロトコル制御フレーム... (diff) | |
| download | sharkey-e8420ad90bd290a2c10d563f6ccbffd0d4a0a97b.tar.gz sharkey-e8420ad90bd290a2c10d563f6ccbffd0d4a0a97b.tar.bz2 sharkey-e8420ad90bd290a2c10d563f6ccbffd0d4a0a97b.zip | |
fix(backend): キャッシュが溜まり続けないように
Related #10984
Diffstat (limited to 'packages/backend/src/core/FederatedInstanceService.ts')
| -rw-r--r-- | packages/backend/src/core/FederatedInstanceService.ts | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/packages/backend/src/core/FederatedInstanceService.ts b/packages/backend/src/core/FederatedInstanceService.ts index 8b9a87a380..3603d59dcc 100644 --- a/packages/backend/src/core/FederatedInstanceService.ts +++ b/packages/backend/src/core/FederatedInstanceService.ts @@ -1,4 +1,4 @@ -import { Inject, Injectable } from '@nestjs/common'; +import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common'; import * as Redis from 'ioredis'; import type { InstancesRepository } from '@/models/index.js'; import type { Instance } from '@/models/entities/Instance.js'; @@ -9,7 +9,7 @@ import { UtilityService } from '@/core/UtilityService.js'; import { bindThis } from '@/decorators.js'; @Injectable() -export class FederatedInstanceService { +export class FederatedInstanceService implements OnApplicationShutdown { public federatedInstanceCache: RedisKVCache<Instance | null>; constructor( @@ -77,4 +77,14 @@ export class FederatedInstanceService { this.federatedInstanceCache.set(result.host, result); } + + @bindThis + public dispose(): void { + this.federatedInstanceCache.dispose(); + } + + @bindThis + public onApplicationShutdown(signal?: string | undefined): void { + this.dispose(); + } } |