首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@Scheduled和Spring webflux

@Scheduled和Spring webflux
EN

Stack Overflow用户
提问于 2019-01-08 21:42:39
回答 3查看 1.1K关注 0票数 8

我正在寻找一种在反应式API中使用计划任务的方法。我知道它使用线程池,所以它与webflux组件不是很兼容。

你有相应的人来做这项工作吗?

EN

回答 3

Stack Overflow用户

发布于 2021-08-10 12:15:14

您可以尝试在@Scheduled方法中使用Schedulers.immediate()

代码语言:javascript
复制
doWork()
  .subscribeOn(Schedulers.immediate())
  .subscribe()

因此,任务在提交它们的线程上运行。

票数 1
EN

Stack Overflow用户

发布于 2021-08-10 22:39:10

有几种方法可以做到。考虑到你想如何安排它,你也可以使用下面的方法。

代码语言:javascript
复制
@Configuration
class ApplicationConfiguration() {

    @PostConstruct
    fun init() {

        Flux.interval(Duration.ofMinutes(12))
            .onBackpressureDrop()
            .flatMap { /* some task that return Mono<T> */ }
            .subscribeOn(Schedulers.boundedElastic())
            .subscribe()
    }
}

请注意,除非调用阻塞,否则不需要subscribeOn(Schedulers.boundedElastic())。另外,我正在使用onBackpressureDrop,但您的要求可能与此不同。

票数 1
EN

Stack Overflow用户

发布于 2020-04-20 16:57:50

Webflux有它自己的调度程序,我猜应该是这样的:

代码语言:javascript
复制
Disposable schedulePeriodically(Runnable task, long initialDelay, long period, TimeUnit unit);  
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54093132

复制
相关文章

相似问题

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