流量生成器-当没有可用数据时如何处理?

问题:没有更多数据时,我们该如何处理Flux Generator

我正在使用Project Reactor的Flux API轮询Redis中的数据(通过外部服务)。这需要进行不确定的轮询,直到服务中断/终止/停止。

我正在使用Flux Generator从Redis获取数据。 在某些情况下,Redis会在一段时间内没有可用数据,因此Generator无法调用onNext。但是我想在Redis中有可用数据时恢复。

如何处理这种情况?我看到以下选项:

1)调用onError并带有自定义异常,指出当时没有可用数据

2)调用complete发出信号-在这种情况下,我会定期创建Flux实例,并且在没有任何数据的情况下将完成该实例。

cad1234 回答:流量生成器-当没有可用数据时如何处理?

// Pair.cpp // keep this the same as in your question,OP // add this Pair operator+(int num,const Pair& other) // <-- still NOT Pair::operator+ { // example implementation to differ from +(Pair,int) Pair newPair(other.num1,other.num2); newPair.num2 += num; // only increment num2 return newPair; } 用于保证始终产生的数据生成功能。使用Flux.generate [1](如果可以从多个线程通知Redis侦听器)或Flux.create [2](如果可以确保从单个线程通知Redis侦听器)。

[1] https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Flux.html#create-java.util.function.Consumer-

[2] https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Flux.html#push-java.util.function.Consumer-

本文链接:https://www.f2er.com/2559416.html

大家都在问