并行执行方法
Parallel execution of methods
我有一个应用程序向我的 spray-can 1.3.1
服务器发送多个请求。
FireBug 告诉我,这些请求是并行触发的。
但是,在服务器上这些请求是严格串行处理的。
我想我需要以某种方式配置喷洒服务器以并行处理多个请求 - 但是如何?
服务器是这样启动的:
object Server extends SimpleRoutingApp{
def main(args: Array[String]): Unit = {
implicit val system = ActorSystem()
startServer("0.0.0.0", port = 8080) {
get{
pathSingleSlash {
complete{
HttpEntity(
MediaTypes.`text/html`,
Template.txt
)
....
由于 Spray 路由在一个 actor 中是同步的,您需要做一些其他事情来让它并行处理多个请求。
- 使用
Detach
directive:该指令将产生一个新的 actor 来处理该请求。
- 使用 actor-per-request
您还可以在 SO 中找到 links。
我有一个应用程序向我的 spray-can 1.3.1
服务器发送多个请求。
FireBug 告诉我,这些请求是并行触发的。
但是,在服务器上这些请求是严格串行处理的。
我想我需要以某种方式配置喷洒服务器以并行处理多个请求 - 但是如何?
服务器是这样启动的:
object Server extends SimpleRoutingApp{
def main(args: Array[String]): Unit = {
implicit val system = ActorSystem()
startServer("0.0.0.0", port = 8080) {
get{
pathSingleSlash {
complete{
HttpEntity(
MediaTypes.`text/html`,
Template.txt
)
....
由于 Spray 路由在一个 actor 中是同步的,您需要做一些其他事情来让它并行处理多个请求。
- 使用
Detach
directive:该指令将产生一个新的 actor 来处理该请求。 - 使用 actor-per-request
您还可以在 SO 中找到