rxpy将项目注入可观察对象

时间:2017-04-18 15:11:55

标签: operators reactivex rx-py

这个问题与rxpy有关。

我正在尝试构建一个处理来自源可观察对象的消息的被动系统。除此之外,我正在尝试将其与基于zookeeper的领导者选举系统相结合。

此组合将只允许进程场中的一个领导者处理消息流。以下是我想要构建的代码的要点。

skip_until

它工作正常,但我需要在take_untilstart_with之间注入一块来处理回填。这旨在处理领导者流程失败与假设领导力的另一个流程之间的潜在差距。每个处理过的消息都会留下一条记录,以便新的领导者可以在继续流之前赶上丢失的消息(如果有的话)。

我尝试了"allowJs": true运算符但没有成功。我是不是以不打算用于它的方式接近它?

最终,我正在寻找的解决方案是在另一个流中的事件触发的流中注入特定数量的项目。

1 个答案:

答案 0 :(得分:0)

这个怎么样:

manager.leaders \
    .flat_map(lambda e: event_source
                  .start_with(...)
                  .take_until(manager.followers))

每次manager.leaders发出消息event_source都会订阅,从注入的项目开始,直到manager.followers发出。