问题标签 [monix]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
124 浏览

scala - 带有 Http 请求的断路器 monix

我正在努力使 Monix 的断路器与我在服务中收到的一些请求异步工作,并且失败了,因此它应该激活断路器,即使打开它也必须呈现请求。

这是我的代码

似乎什么时候异步在AsyncResponse断路器回调中使用时打开,被下一个到达的请求覆盖,然后我的服务卡住并且没有更多的请求可以到达。

到目前为止,唯一的解决方案是运行它同步,但这不是一个选项,因为它必须是 NIO

0 投票
1 回答
79 浏览

scala - 如何使用自定义weither函数缓冲发射

我需要像monix.Observable.bufferTimedAndCounted自定义“weither”这样的功能。我找到bufferTimedWithPressure了允许使用项目重量的操作员:

但是发射会在每个指定的持续时间内发生。我需要像这样的行为bufferTimedAndCounted,所以当缓冲区满时会发生发射。如何做到这一点?

0 投票
1 回答
217 浏览

scala - 从 monix Scheduler 上执行的所有任务中收集数据

我正在使用 Monix Scheduler 定期执行一些任务。但我不知道如何不仅执行它们,还从它们收集结果到某个集合......假设我有一个计划任务,每次都返回一个随机数:

从理论上讲,我可以在任务执行之前创建可变和并发task.map列表,并且可以将结果放入该列表中……但我听说使用可变的、线程之间共享的集合根本不是最佳实践。 .. 有什么好方法可以收集所有预定的任务结果吗?我应该使用什么工具以适当的 scala 惯用方式实现这一目标,避免可变集合?

0 投票
2 回答
417 浏览

scala - Monix Task.sleep 和单线程执行

我正在尝试理解 Monix 中的任务调度原则。以下代码(来源:https ://slides.com/avasil/fp-concurrency-scalamatsuri2019#/4/3 )只产生'1',正如预期的那样。

当我们添加Task.sleeprepeat方法中

输出变为

这两个任务现在在一个线程上同时执行!很好:) 一些合作让步已经开始了。到底发生了什么?谢谢 :)

编辑:同样的情况发生在Task.shift而不是Task.sleep.

0 投票
2 回答
449 浏览

scala - 拆分 Monix Observable

我想为monix.reactive.Observable. 它应该根据谓词的值将源Observable[A]拆分为新的 pair ,并针对源中的每个元素进行评估。(Observable[A], Observable[A])我希望拆分独立于源 Observable 是热的还是冷的。在源很冷的情况下,新的一对 Observable 也应该是冷的,而在源很热的情况下,新的一对 Observable 将是热的。我想知道这样的实现是否可行,如果可以,如何实现(我在下面粘贴了一个失败的测试用例)。

签名,作为隐式类的方法,看起来像或类似于

目前,我有一个简单的实现,它使用源元素并将它们推送到PublishSubject. 因此,这对新的 Observables 很热门。我对冷 Observable 的测试失败了。

我希望上面的两个测试用例都能通过,但"Observable Ops" should "split a cold observable"都失败了。

编辑:工作代码

通过两个测试用例的实现如下:

0 投票
2 回答
410 浏览

scala - 期货列表的 Monix 任务处理失败

如何处理异步执行任务期间的失败?即至少打印堆栈跟踪并关闭。下面的代码似乎永远等待输入> 5

编辑

试:

不会停止计算。如何记录堆栈跟踪并取消正在进行的计算并停止?

0 投票
0 回答
28 浏览

scala - 监控 Monix 应用程序内部动态的最佳实践

我正在开发基于 monix 的应用程序。计算管道变得相当复杂。我想知道了解运行时发生的情况的最佳方法是什么?理想情况下,可视化带有通过事件的速率和延迟注释的可观察对象树。但即使是基本的指导/示例也会有所帮助。

0 投票
2 回答
227 浏览

java - Scala 任务返回映射

我有一个方法 readHeader ,它接受一个参数并返回Task[List[Header]],另一种方法调用多个 id 并返回List[Task[List[EquipmentHeader]]]。如何使Task[List[List[Header]]]的返回兼容多个 id 读取功能。

0 投票
2 回答
443 浏览

scala - 将 List[Task[List[A]]] 转换为 Task[List[A]]

如何在 scala 中将List[Task[List[Header]]]类型转换为 Task[List[Header]] 。

我有一个方法返回 Task[List[Header]] 并多次调用 dor 它变成 List[Task[List[Header]]]

0 投票
1 回答
62 浏览

scala - Task[List[List[A]]] 到 Task[A] 如果列表有元素

我有一个返回 Task[List[List[A]]] 的方法,如果列表大于 0,我需要转换为 Task[A]

如果内部方法有多个元素,如何获取 Task[A] 是 A 的列表

如上所示,我可以转换为 Task[List[A]]