我想要做的是使用 webclient 对 Webflux 中的 Mono 进行有条件的重复。情况如下:
我们有一些返回生成文档的业务休息服务服务。此文档的生成是由在此之前调用的另一个服务触发的。但是,回到正题:文档生成服务需要 10-30 秒。我们要做的是:在 10 秒后检查是否生成了文档(单声道)。如果是这样,一切都很好。如果没有,请在 5 秒后重复(或重试)并检查是否生成了文档。依此类推,直到(最坏情况)30 秒后超时。这可能吗?一些(伪)代码:
return this.webClient.post().uri(SERVICE_URL)).
body(BodyInserters.fromObject(docRequest)).retrieve().
bodyToMono(Document.class).
delaySubscription(Duration.ofSeconds(10)).
repeat5TimesWithDynamicTimeDelayUntil(!document.isEmpty()).
subscribe();
慕村9548890
相关分类