gpt4 book ai didi

scala - 限制 Play 2.1 框架中的线程数

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

我正在使用 Play 2.1 和 Scala 连续运行多个测试。我正在做一个 Future.traverse(tests)(test => Future(runTest(test))

我想限制并行运行的测试数量,所以我想限制默认调度程序中的线程数量。

我试着把

play {
akka {
event-handlers = ["akka.event.slf4j.Slf4jEventHandler"]
loglevel = WARNING
actor {
default-dispatcher = {
fork-join-executor {
parallelism-factor = 1.0
parallelism-max = 2
}
}
}
}
}

application.conf 中,但它似乎没有任何效果(当我运行程序时,每个核心仍然有一个线程)。 application.conf 已正确读取其他 Play 设置。

我试图摆脱它周围的戏剧,但它没有任何改变。

我尝试了不同的执行上下文导入但没有成功:

//import scala.concurrent.ExecutionContext.Implicits._
import play.api.libs.concurrent.Execution.Implicits._

当我运行该应用程序时,我收到此消息,因此它似乎是使用的默认调度程序:

[info] play - Starting application default Akka system.

有人知道为什么我无法配置默认调度程序吗?

谢谢!

线程列表:

main
Reference Handler
Finalizer
Signal Dispatcher
FSEvent thread
Attach Listener
play-scheduler-1
Timer-0
com.google.common.base.internal.Finalizer
BoneCP-keep-alive-scheduler
BoneCP-max-alive-scheduler
BoneCP-pool-alive-scheduler
application-akka.actor.default-dispatcher-2
application-scheduler-1
ForkJoinPool-3-worker-1
default-scheduler-1
default-scheduler-1
default-scheduler-1
default-akka.actor.default-dispatcher-3
default-akka.actor.default-dispatcher-5
default-akka.actor.default-dispatcher-3
default-akka.actor.default-dispatcher-2
default-akka.actor.default-dispatcher-5
default-pinned-dispatcher-4
play-akka.actor.default-dispatcher-2
play-akka.actor.default-dispatcher-4
Timer-1
Timer-3
Timer-4
Hashed wheel timer #1
Hashed wheel timer #2
Hashed wheel timer #3
AsyncHttpClient-Reaper
AsyncHttpClient-Reaper
AsyncHttpClient-Reaper
default-pinned-dispatcher-4
default-pinned-dispatcher-4
New I/O boss #35
New I/O boss #44

和 8 play-internal-execution-context-(1 到 8)

和 8 iteratee-execution-context-(1 到 8)

和 62 新的 I/O worker #(1 到 62)

最佳答案

您忘记的设置是 parallelism-min,默认为 8。但是在您更改它之前,请考虑不要为此目的使用默认调度程序:将其限制为两个线程可能很好打破系统。我推荐configuring a specific dispatcher用于您的 future 。

关于scala - 限制 Play 2.1 框架中的线程数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17191546/

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