【发布时间】:2019-02-08 11:58:15
【问题描述】:
我正在使用 Spring 5 WebClient 从 REST api 重复获取正在运行的进程的某些状态。
在here 的帮助下,我现在找到了这个解决方案:
webClient.get().uri(...).retrieve.bodyToMono(State.class)
.repeat()
.skipUntil(state -> stateFinished())
.limitRequest(1)
.subscribe(state -> {...});
虽然这有效,但获取请求的触发率非常高。将请求速率限制为每秒 1 个请求的正确方法是什么?
我尝试使用delayElements(Duration.ofSeconds(1)),但这只会延迟结果,而不是请求本身。
【问题讨论】:
标签: spring-webflux project-reactor