gpt4 book ai didi

scala - 如何创建不受背压影响的 Source

转载 作者:行者123 更新时间:2023-12-01 06:55:04 25 4
gpt4 key购买 nike

我想测试一些 Akka 流功能,例如 conflate .为此,我需要在简单的单元测试中构建一个不受背压影响的源。天真的尝试,如

Source.tick(1.milli, 1.milli, "tick").map(_ => Random.nextDouble())

由于背压而不工作。 OTOH 通过 HTTP 可能是矫枉过正。

我将如何创建 简单 Source对于不受背压影响的单元测试?

最佳答案

您可以使用 Source.actorRef这是 - 按设计 - 不支持背压。请参阅下面的示例:

  val actorRef: ActorRef = Source.actorRef(0, OverflowStrategy.dropNew)
.map(_ => Random.nextDouble())
.to(yourSink).run()

system.scheduler.schedule(1.milli, 1.milli, actorRef, "tick")(system.dispatcher)

这里的 bufferSize 参数和溢出策略是随机选择的,您需要根据测试的需要调整它们。

更多信息 Source.actorRef可以在 docs 中找到.

关于scala - 如何创建不受背压影响的 Source,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43767664/

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