What scope to use for launching a task in Kotlin from a controller?
My Kotlin App is using Spring to expose an API that should execute a long task in the background. We need to return
@PutMapping("/refresh")
fun refresh() = {
GlobalScope.launch(IO) { refreshDataFromCache() }
return ResponseEntity.accepted().body("""{"result": "accepted"}""")
}
IntelliJ complains that using the GlobalScope is an anti-pattern. However, I cannot just add suspend to the controller function or it won't work. Neither I can use runBlocking or the method will need to wait...