java - Spark 作业服务器 : "The server was not able to produce a timely response to your request"

标签 java curl spray spark-jobserver

我正在使用 Spark Job Server 运行 Spark 作业,它运行良好。但是当我尝试执行一项大工作(需要超过 40 秒)时,我得到了这个错误:

The server was not able to produce a timely response to your request.

是否需要一些配置才能等待服务器响应?我应该怎么办?

谢谢

最佳答案

sync 作业提交可以达到几种不同的超时。你的来自 Spray-can 服务器。您可以通过 conf 文件对其进行配置:

spray.can.server {
      idle-timeout = <set desired timeout>
      request-timeout = <set desired timeout>
}

您可以将这两个值都设置为 infinite 以完全禁用这些超时。

一般来说,我观察到至少有 3 种常见的不同超时,它们可以在作业完成之前返回您的请求:

  1. 基于 Akka 的请求超时。如果同步作业在 X 秒之前未完成,将返回状态为“错误”的 JSON 响应。 SJS 中的默认值为 10 秒,但您可以通过将 timeout=Y 参数传递给您的 POST/jobs 请求来覆盖它。
  2. Spray-can 服务器超时:idle-timeoutrequest-timeout。将返回默认的 Spray 响应,使其更难捕捉。它们分别默认为 60 秒和 40 秒。
  3. 另一个超时可能来自您的客户端 REST 库...其中一些将其默认配置配置为禁用该层上的任何超时,其中一些可能会考虑服务器的超时并根据该配置自己的行为.. . 例如,一旦您禁用上面的超时#2,C++ REST SDK 库就会启动 WinHTTP 超时 30 秒,#2 到位后它将等待 40 秒...

关于java - Spark 作业服务器 : "The server was not able to produce a timely response to your request",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27986864/

相关文章:

java - 如何使用 Hibernate 仅获取一列的值

java - IntelliJ 9.0.3 拒绝在 Mac OS X (Snow Leopard) 上启动

java - 类型中的方法不适用于参数 - 但它应该是(jsp)

xml - 如何解码 Spray 中的案例类列表

scala - 喷雾安全 : how to protect routes?

java - Android 中匿名类的 InstantiationException 问题

php - php 中的 cURL - 我有 2 个单独工作的函数,但当组合时,第二个函数输出第一个 cURL 调用的结果

linux - 使用 jq 从 json 输出中获取键值

Windows 批量 curl 到变量

scala - Spray 将 Scala 值传递给资源