我正试图在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秒。