diff options
author | mat <github@matdoes.dev> | 2021-05-27 20:29:30 -0500 |
---|---|---|
committer | mat <github@matdoes.dev> | 2021-05-27 20:29:30 -0500 |
commit | f2f18c27d2e849fdc3b2a6766dc6ab4005cde7df (patch) | |
tree | 641ea6ec80309cbbccd70834b47d0c6fa769cf99 /src/database.ts | |
parent | f065fd2dd0fa38870727069e0ff2382c21cfe080 (diff) | |
download | skyblock-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.ts | 6 |
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!') |