From bd61acf3d32ce1bea948ea69a05f7280d6a61b90 Mon Sep 17 00:00:00 2001 From: Josh <43449531+joshbker@users.noreply.github.com> Date: Sat, 17 Feb 2024 17:03:43 +0000 Subject: [PATCH] fix: load knowledgebase & help posts asynchronously --- .../learnspigot/bot/help/search/HelpPostRegistry.kt | 12 ++++++++---- .../bot/knowledgebase/KnowledgebasePostRegistry.kt | 10 +++++++--- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/com/learnspigot/bot/help/search/HelpPostRegistry.kt b/src/main/kotlin/com/learnspigot/bot/help/search/HelpPostRegistry.kt index 9009301..d342957 100644 --- a/src/main/kotlin/com/learnspigot/bot/help/search/HelpPostRegistry.kt +++ b/src/main/kotlin/com/learnspigot/bot/help/search/HelpPostRegistry.kt @@ -2,14 +2,18 @@ package com.learnspigot.bot.help.search import com.learnspigot.bot.Server import com.learnspigot.bot.util.PostRegistry +import java.util.concurrent.CompletableFuture +import java.util.concurrent.Executors class HelpPostRegistry : PostRegistry() { init { - // Get open help posts - Server.helpChannel.threadChannels.forEach { posts[it.name] = it.id } - // Get closed help posts - Server.helpChannel.retrieveArchivedPublicThreadChannels().forEach { posts[it.name] = it.id } + CompletableFuture.runAsync({ + // Get open help posts + Server.helpChannel.threadChannels.forEach { posts[it.name] = it.id } + // Get closed help posts + Server.helpChannel.retrieveArchivedPublicThreadChannels().forEach { posts[it.name] = it.id } + }, Executors.newCachedThreadPool()) } } \ No newline at end of file diff --git a/src/main/kotlin/com/learnspigot/bot/knowledgebase/KnowledgebasePostRegistry.kt b/src/main/kotlin/com/learnspigot/bot/knowledgebase/KnowledgebasePostRegistry.kt index a879b16..bfea171 100644 --- a/src/main/kotlin/com/learnspigot/bot/knowledgebase/KnowledgebasePostRegistry.kt +++ b/src/main/kotlin/com/learnspigot/bot/knowledgebase/KnowledgebasePostRegistry.kt @@ -2,13 +2,17 @@ package com.learnspigot.bot.knowledgebase import com.learnspigot.bot.Server import com.learnspigot.bot.util.PostRegistry +import java.util.concurrent.CompletableFuture +import java.util.concurrent.Executors class KnowledgebasePostRegistry : PostRegistry() { init { - Server.knowledgebaseChannel.threadChannels.forEach { - posts[it.name] = it.id - } + CompletableFuture.runAsync({ + Server.knowledgebaseChannel.threadChannels.forEach { + posts[it.name] = it.id + } + }, Executors.newCachedThreadPool()) } } \ No newline at end of file