Golang HTTP服务器超时



我正试图在golang中编写一个web服务器来处理地理编码请求。其中一些请求的处理时间超过一分钟。在这种情况下,虽然处理程序一直在运行,但服务器似乎正在向客户端返回一个空的正文。我尝试过下面的代码,但没有成功。我是不是错过了什么?这可能是帕特的问题吗?

r := pat.New()
r.Get("/geocode", GeocodeHandler)
r.Get("/status", StatusHandler)
r.Get("/", InvalidHandler)
s := &http.Server{
    Addr: ":"+port,
    Handler: r,
    ReadTimeout: 10 * time.Minute,
    WriteTimeout: 10 * time.Minute,
    MaxHeaderBytes: 0,
}
s.ListenAndServe()

客户端为ruby。我不认为这是问题所在,因为如果我使用旋度,我会看到类似的行为。

uri = URI(URI.escape("http://blah.com/geocode?address=#{address}"))
http = Net::HTTP.new(uri.host, uri.port)
http.read_timeout = 10 * 60
response = http.request(Net::HTTP::Get.new(uri.request_uri))

发现问题。我没有提到我的服务器在亚马逊ELB后面。其默认超时为60秒。

相关内容

  • 没有找到相关文章

最新更新