首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Play 2.1框架限制线程数

Play 2.1框架限制线程数
EN

Stack Overflow用户
提问于 2013-06-19 20:45:12
回答 1查看 1.7K关注 0票数 3

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

我想限制并行运行的测试数量,因此我想限制默认分派程序中的线程数量。

我试着把

代码语言:javascript
运行
复制
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

我试图摆脱围绕它的游戏{},但它什么也改变不了。

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

代码语言:javascript
运行
复制
//import scala.concurrent.ExecutionContext.Implicits._
import play.api.libs.concurrent.Execution.Implicits._

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

代码语言:javascript
运行
复制
[info] play - Starting application default Akka system.

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

谢谢!

线程列表:

代码语言:javascript
运行
复制
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 New I/O worker # (1到62)

EN

回答 1

Stack Overflow用户

发布于 2013-06-24 15:34:32

您忘记的设置是parallelism-min,它默认为8。但是在您更改该设置之前,请考虑不要使用默认的dispatcher :将其限制为两个线程很可能会破坏系统。我建议您在将来使用configuring a specific dispatcher

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17191546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档