首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在@Scheduled内部运行coroutine

在@Scheduled内部运行coroutine
EN

Stack Overflow用户
提问于 2021-06-07 07:37:48
回答 1查看 461关注 0票数 0

我想运行一个定期任务。在Spring MVC中,它可以完美地工作。现在我想集成Spring Webflux + Kotlin协程。如何在@Scheduled方法中调用挂起的函数?我想让它等到挂起的函数完成。

代码语言:javascript
复制
/// This function starts every 00:10 UTC
@Scheduled(cron = "0 10 0 * * *", zone = "UTC")
fun myScheduler() {
    // ???
}

suspend fun mySuspendedFunction() {
    // business logic
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-07 07:45:16

代码语言:javascript
复制
fun myScheduler() {
    runBlocking {
        mySuspendedFunction()
    }
}

这样,协程将在被阻塞的线程中运行。如果你需要在不同的线程中运行代码或者并行执行几个协程,你可以将一个dispatcher (例如Dispatchers.DefaultDispatchers.IO)传递给runBlocking()或者使用withContenxt()

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67864495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档