gpt4 book ai didi

java - 通量发生器 - 当没有可用数据时如何处理?

转载 作者:行者123 更新时间:2023-12-01 17:43:18 24 4
gpt4 key购买 nike

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

我正在使用 Project Reactor 的 Flux API 来轮询放入 Redis 的数据(通过外部服务)。这需要无限期轮询,直到服务关闭/终止/停止。

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

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

1) 调用 onError 并显示自定义异常,表明当时没有可用数据

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

最佳答案

Flux.generate 用于保证始终生成的数据生成函数。使用 Flux.create[1](如果可以从多个线程通知 Redis 监听器)或 Flux.push[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-

关于java - 通量发生器 - 当没有可用数据时如何处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60909798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com