diff --git a/src/main/kotlin/org/mosad/thecitadelofricks/controller/CacheController.kt b/src/main/kotlin/org/mosad/thecitadelofricks/controller/CacheController.kt index 5cc1a83..f0592fd 100644 --- a/src/main/kotlin/org/mosad/thecitadelofricks/controller/CacheController.kt +++ b/src/main/kotlin/org/mosad/thecitadelofricks/controller/CacheController.kt @@ -156,7 +156,7 @@ class CacheController { * this function updates the courseList * during the update process the old data will be returned for an API request */ - private fun asyncUpdateCourseList() = GlobalScope.launch { + private fun asyncUpdateCourseList() = CoroutineScope(Dispatchers.IO).launch { CourseListParser().getCourseLinks(StartupController.courseListURL)?.let { courseList = CoursesList(CoursesMeta(System.currentTimeMillis() / 1000, it.size), it.toSortedMap()) } @@ -172,7 +172,7 @@ class CacheController { * this function updates the mensa menu list * during the update process the old data will be returned for an API request */ - private fun asyncUpdateMensa() = GlobalScope.launch { + private fun asyncUpdateMensa() = CoroutineScope(Dispatchers.IO).launch { val mensaCurrentWeek = MensaParser().getMensaMenu(StartupController.mensaMenuURL) val mensaNextWeek = MensaParser().getMensaMenu(MensaParser().getMenuLinkNextWeek(StartupController.mensaMenuURL)) @@ -189,7 +189,7 @@ class CacheController { * during the update process the old data will be returned for an API request * a FixedThreadPool is used to make parallel requests for faster updates */ - private fun asyncUpdateTimetables() = GlobalScope.launch { + private fun asyncUpdateTimetables() = CoroutineScope(Dispatchers.IO).launch { logger.info("Updating ${timetableList.size} timetables ...") // create a new ThreadPool with 5 threads