程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Reactor groupBy:取消 GroupedFlux 后剩余项目会怎样?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Reactor groupBy:取消 GroupedFlux 后剩余项目会怎样??

开发过程中遇到Reactor groupBy:取消 GroupedFlux 后剩余项目会怎样?的问题如何解决?下面主要结合日常开发的经验,给出你关于Reactor groupBy:取消 GroupedFlux 后剩余项目会怎样?的解决方法建议,希望对你解决Reactor groupBy:取消 GroupedFlux 后剩余项目会怎样?有所启发或帮助;

我需要按具有高基数的键对无限 Flux 进行分组。@H_450_3@

例如:@H_450_3@

  1. 组键是域网址
  2. 对一个域的调用应该严格按顺序进行(下一个调用发生在前一个调用完成之后)
  3. 对不同域的调用应该是并发的
  4. 有相同键 (url) 的项目之间的时间间隔未知,但预计具有突发性。几个项目在短时间内发出,然后长时间暂停直到下一组。
@H_816_17@makeSlowRemoteCall()

我在两种情况下取​​消群组:@H_450_3@

  1. groupTimeout 结果表明该组中很可能在不久的将来没有新项目。@H_450_3@

  2. timeout(timeout,fallBACk) 期间不发出下一项。我使用 b = fi(pi,1,21,16) % use @R_465_10586@l length = 21-bit,fraction = 16-bit ntBP = numerictype(1,10,9) % quantize to @R_465_10586@l length = 10-bit,fraction = 9-bit c = quantize(b,ntBp) % this returns -0.8594 变体来抑制 TimeoutException 并允许 flatMap 的内部发布者成功完成。@H_450_3@

我希望将来可能使用相同键的项目来创建新的 GroupedFlux 并使用相同的 flatMap 内部管道进行处理。@H_450_3@

但是如果 GroupedFlux 在我取消时还有剩余的未请求项目会怎样?@H_450_3@

groupBy 运算符是否将它们重新排队到具有相同密钥的新组中,否则它们将永远丢失。如果以后什么是解决我的问题的正确方法。我也不确定在这种情况下是否需要将 concatMap() prefetch 设置为 0。@H_450_3@

解决方法

我认为 groupBy() 运算符不适合我的无限源和大量组的任务。它产生无限组,因此有必要以某种方式取消下游的空闲组。但是不可能取消 GroupedFlux 并保证它没有未消耗的元素。@H_450_3@

我认为拥有发出有限组的 groupBy 变体会很棒。 类似 groupBy(keymapper,boundryPreDicatE) 的东西。当 boundryPreDicate 返回 true 时,当前组完成,下一个具有相同键的元素将开始新组。@H_450_3@

大佬总结

以上是大佬教程为你收集整理的Reactor groupBy:取消 GroupedFlux 后剩余项目会怎样?全部内容,希望文章能够帮你解决Reactor groupBy:取消 GroupedFlux 后剩余项目会怎样?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: