From 8561ef038e5da20cc39781f5850094351991c779 Mon Sep 17 00:00:00 2001 From: codytseng Date: Wed, 5 Feb 2025 15:26:21 +0800 Subject: [PATCH] feat: slow down --- src/services/client.service.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/services/client.service.ts b/src/services/client.service.ts index 17e926eb..8c027839 100644 --- a/src/services/client.service.ts +++ b/src/services/client.service.ts @@ -46,17 +46,17 @@ class ClientService extends EventTarget { private profileEventCache = new LRUCache>({ max: 10000 }) private profileEventDataloader = new DataLoader( (ids) => Promise.all(ids.map((id) => this._fetchProfileEvent(id))), - { cacheMap: this.profileEventCache, maxBatchSize: 10 } + { cacheMap: this.profileEventCache, maxBatchSize: 20 } ) private fetchProfileEventFromDefaultRelaysDataloader = new DataLoader( this.profileEventBatchLoadFn.bind(this), - { cache: false, maxBatchSize: 10 } + { cache: false, maxBatchSize: 20 } ) private relayListEventDataLoader = new DataLoader( this.relayListEventBatchLoadFn.bind(this), { cacheMap: new LRUCache>({ max: 10000 }), - maxBatchSize: 10 + maxBatchSize: 20 } ) private relayInfoDataLoader = new DataLoader(async (urls) => { @@ -531,7 +531,10 @@ class ClientService extends EventTarget { async initUserIndexFromFollowings(pubkey: string) { const followings = await this.fetchFollowings(pubkey) - await this.profileEventDataloader.loadMany(followings) + for (let i = 0; i * 20 < followings.length; i++) { + await this.profileEventDataloader.loadMany(followings.slice(i * 20, (i + 1) * 20)) + await new Promise((resolve) => setTimeout(resolve, 200)) + } } private async fetchEventById(relayUrls: string[], id: string): Promise {