我对 Reactor Flux 间隔有疑问。 我有功能
private void startPooling(final XYZ xyz, final Context context) {
final Disposable disposable = Flux.interval(Duration.ofMillis(1000))
.onBackpressureDrop()
.delayUntil(s -> Mono.just(1).delayElement(Duration.ofSeconds(context.getDelayBetweenNextRunInSeconds())))
.doOnNext(s -> execute(xyz, context))
.doOnError(error -> this.log.error("Error in pooling {}",xyz.getHost(),error))
.retry()
.subscribe();
context.setDelayedElement(disposable);
}
它每天运行大约 8000-8500 次,但大约 2 天后它停止执行间隔,我也不例外,
.retry()
不起作用。它只是在没有任何信息的情况下停止工作。可能是什么问题呢?太长long
-据我所知,间隔适用于多头