TwitterServer (Finch / Finagle), кажется, блокирует вызов API до тех пор, пока не завершит вычисления - PullRequest
0 голосов
/ 30 апреля 2019

Я настраиваю новый сервер отдыха с помощью TwitterServer, и кажется, что он блокирует новый вызов API, пока не завершится предыдущий.

Вот простая модификация базового кода, взятого из документации на https://twitter.github.io/twitter-server:

import com.twitter.finagle.{Http, Service}
import com.twitter.finagle.http.{Request, Response, Status}
import com.twitter.server.TwitterServer
import com.twitter.util.{Await, Future, FuturePool}

object BasicServer extends TwitterServer {
  val service = new Service[Request, Response] {
    def apply(request: Request): Future[Response] = {
      FuturePool.unboundedPool {
        Thread.sleep(10000)

        val response = Response(request.version, Status.Ok)
        response.contentString = "hello"

        response
      }
    }
  }

  def main(): Unit = {
    val server = Http.serve(":8888", service)
    onExit {
      server.close()
      ()
    }
    Await.ready(server)

    ()
  }
}

если я пытаюсь сделать несколько вызовов на http://localhost:8888,, первый вызов по какой-то причине блокирует второй. Есть идеи, почему это происходит?

...