diff --git a/src/main/kotlin/org/mosad/thecitadelofricks/controller/CacheController.kt b/src/main/kotlin/org/mosad/thecitadelofricks/controller/CacheController.kt index 1e7b112..62bc7a9 100644 --- a/src/main/kotlin/org/mosad/thecitadelofricks/controller/CacheController.kt +++ b/src/main/kotlin/org/mosad/thecitadelofricks/controller/CacheController.kt @@ -157,7 +157,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()) } @@ -173,7 +173,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)) @@ -190,7 +190,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