如何在自己的执行上下文中运行期货,而不是在Actor系统调度器上运行,[Scala|Akka]

tyky79it  于 2022-11-09  发布在  Scala
关注(0)|答案(1)|浏览(132)

在代码中的dedicated dispatcher将自动在application.conf中查找调度程序的情况下,我们如何使用src/main/resources/application.conf

nbysray5

nbysray51#

下面是可以放在application.conf中的两个执行上下文配置示例:

background-scheduled-tasks-dispatcher {                                                
  type = Dispatcher                                                                    
  executor = "fork-join-executor"    
  fork-join-executor {
    parallelism-min = 2
    parallelism-factor = 2.0
    parallelism-max = 10
  }
  throughput = 1
}

blocking-io-ec {
  type = Dispatcher
  executor = "thread-pool-executor"
  thread-pool-executor {
    fixed-pool-size = 50
  }
  throughput = 1
}

下面是一个如何在你的应用程序中访问其中之一的例子:

val ec :ExecutionContext = actorSystem.dispatchers.lookup("blocking-io-ec")

您可以为该行添加前缀implicit val ec,也可以显式使用它

someFuture.map(myFunc)(ec)

相关问题