Я работаю над простым применением REST с применением искры, и у меня есть следующий код (созданный с помощью шаблона спрея). Я изменил его, включив поддержку json и некоторую рекомендательную программу, которая возвращает список предприятий. По какой-то причине запрос истекает, хотя я задал параметр тайм-аута бесконечным. может кто-то сказать мне, что я делаю неправильно? похоже, я принял неправильный выбор технологий, и поддержка на форумах очень меньше. Рекомендатор работает в фоновом режиме, хотя сервер немедленно возвращается клиенту с ошибкой таймаута. Я играл с множеством значений конфигурации, но мне все равно не нравится. любая помощь очень ценится.Время запроса сервера с помощью Spray
case class Business(name:String)
object MyProtocol extends DefaultJsonProtocol with SprayJsonSupport{
implicit val elementFormat = jsonFormat1(Business)
}
trait MyService extends HttpService {
import MyProtocol._
val myRoute = {
path("") {
get {
respondWithMediaType(`application/json`) {
complete(Recommender.recommend(1000)) // times out
complete('some html') // works immediately
}
}
}
def Recommend(userId: Int) : List[Business] = {
......................
}
application.conf
spray.can {
server {
request-timeout = infinite
}
}
Ваш пример работает для меня: https://gist.github.com/jrudolph/e6bb940a341f46873cd5. Тайм-аут запроса не является единственным параметром таймаута. Также вы можете установить 'spray.can.server.idle-timeout'. – jrudolph