aboutsummaryrefslogtreecommitdiff
path: root/src/database.ts
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2021-05-27 20:29:30 -0500
committermat <github@matdoes.dev>2021-05-27 20:29:30 -0500
commitf2f18c27d2e849fdc3b2a6766dc6ab4005cde7df (patch)
tree641ea6ec80309cbbccd70834b47d0c6fa769cf99 /src/database.ts
parentf065fd2dd0fa38870727069e0ff2382c21cfe080 (diff)
downloadskyblock-api-f2f18c27d2e849fdc3b2a6766dc6ab4005cde7df.tar.gz
skyblock-api-f2f18c27d2e849fdc3b2a6766dc6ab4005cde7df.tar.bz2
skyblock-api-f2f18c27d2e849fdc3b2a6766dc6ab4005cde7df.zip
random random debug things and optimize leaderboards
optimize leaderboards by fetching all the raw ones at the beginning
Diffstat (limited to 'src/database.ts')
-rw-r--r--src/database.ts6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/database.ts b/src/database.ts
index 7129d2b..bb3bf3a 100644
--- a/src/database.ts
+++ b/src/database.ts
@@ -637,8 +637,12 @@ async function fetchAllLeaderboards(fast?: boolean): Promise<void> {
const leaderboards: string[] = await fetchAllMemberLeaderboardAttributes()
if (debug) console.debug('Caching raw leaderboards!')
+
+ const promises: Promise<DatabaseMemberLeaderboardItem[]>[] = []
+
for (const leaderboard of shuffle(leaderboards))
- await fetchMemberLeaderboardRaw(leaderboard)
+ promises.push(fetchMemberLeaderboardRaw(leaderboard))
+ await Promise.all(promises)
// shuffle so if the application is restarting many times itll still be useful
if (debug) console.debug('Caching leaderboards!')