summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/FederatedInstanceService.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/core/FederatedInstanceService.ts')
-rw-r--r--packages/backend/src/core/FederatedInstanceService.ts17
1 files changed, 6 insertions, 11 deletions
diff --git a/packages/backend/src/core/FederatedInstanceService.ts b/packages/backend/src/core/FederatedInstanceService.ts
index e028265bdc..1ead73b25a 100644
--- a/packages/backend/src/core/FederatedInstanceService.ts
+++ b/packages/backend/src/core/FederatedInstanceService.ts
@@ -23,8 +23,8 @@ export class FederatedInstanceService {
private idService: IdService,
) {
this.federatedInstanceCache = new RedisKVCache<Instance | null>(this.redisClient, 'federatedInstance', {
- lifetime: 1000 * 60 * 60 * 24, // 24h
- memoryCacheLifetime: 1000 * 60 * 30, // 30m
+ lifetime: 1000 * 60 * 30, // 30m
+ memoryCacheLifetime: 1000 * 60 * 3, // 3m
fetcher: (key) => this.instancesRepository.findOneBy({ host: key }),
toRedisConverter: (value) => JSON.stringify(value),
fromRedisConverter: (value) => {
@@ -65,15 +65,10 @@ export class FederatedInstanceService {
}
@bindThis
- public async updateCachePartial(host: string, data: Partial<Instance>): Promise<void> {
- host = this.utilityService.toPuny(host);
-
- const cached = await this.federatedInstanceCache.get(host);
- if (cached == null) return;
+ public async update(id: Instance['id'], data: Partial<Instance>): Promise<void> {
+ const result = await this.instancesRepository.update(id, data);
+ const updated = result.raw[0];
- this.federatedInstanceCache.set(host, {
- ...cached,
- ...data,
- });
+ this.federatedInstanceCache.set(updated.host, updated);
}
}