Jenkins的Spray Client等待大量响应

时间:2015-09-12 00:34:14

标签: scala jenkins spray-client

我正在为Jenkins构建服务器编写Spray客户端。我可以使用最多18个构建结果来查询项目,但是具有31的项目具有我的客户端从未收到响应的行为。我可以使用curl成功完成此操作,因此我不知道接下来要看什么。

认为这是关于分块转移编码,因为我在成功的回复中没有看到标题 - 尽管我可能会错误地理解应该发生什么。< / p>

object JenkinsBuildStatus extends App {

  implicit val system = ActorSystem("JenkinsBuildStatus")
  import system.dispatcher // execution context for futures
  val log = Logging(system, getClass)

  val pipeline: HttpRequest => Future[HttpResponse] = (
       addCredentials(BasicHttpCredentials("username","foobar"))
   ~> addHeader("Accept", MediaRanges.`*/*`.value)
   ~> addHeader("User-Agent", "curl/7.37.1")
   ~> logRequest(log)
   ~> sendReceive
   ~> logResponse(log)
)
val response: Future[HttpResponse] = pipeline(Get("https://jenkinsbuilds.corp.com/jenkins/job/Project-Java1.8/api/json/"))

response onComplete {
 case Success(data) => {
   log.info (data.toString())
   shutdown()
 }
 case Failure(error) => {
   log.error(error, "Failure with web client")
   shutdown()
 }
}

 def shutdown(): Unit = {
  IO(Http).ask(Http.CloseAll)(1.second).await
  system.shutdown()
  }
}

0 个答案:

没有答案