代码之家  ›  专栏  ›  技术社区  ›  Oleg

了解monix用户负载平衡

  •  0
  • Oleg  · 技术社区  · 6 年前

    我在学习 monix 3 .
    下一个代码:

    object Main extends TaskApp {
      override def runc = {
        Observable.fromIterable(1 to 10)
          .map{i =>
            val delay = Random.nextInt(1000) + 1000
            println(s"Starting $i, delay = $delay")
            Thread.sleep(delay)     // Imitation of hard execution
            i
          }
          .map{i =>
            val delay = Random.nextInt(1000) + 1000
            println(s"Continue $i, delay = $delay")
            Thread.sleep(delay)
            i
          }
          .consumeWith(Consumer.loadBalance(3, Consumer.foreach(i => println(s"End $i"))))   //Compile error here
      }
    }
    

    导致编译错误:

    缺少参数类型

    我搞不懂,这里出了什么问题,怎么编译这段代码?

    升级版
    第二个问题是如何在 n 几分钟?

    1 回复  |  直到 6 年前
        1
  •  3
  •   Markus Appel    6 年前

    作为对第一个问题的回答,必须显式地为 foreach :

    Consumer.foreach[Int](i => println(s"End $i"))
    

    要回答第二个问题,请使用 Observable.intervalAtFixedRate Observable.intervalAtFixedDelay

    请参考 Monix Scaladoc .