[英]Golang HTTP server timeout
我正在嘗試用golang寫一個Web服務器來處理地理編碼請求。 其中一些請求需要花費一分鍾以上的時間來處理。 在這種情況下,盡管處理程序一直在運行,但是服務器似乎正在向客戶端返回一個空的主體。 我嘗試了下面的代碼無濟於事。 我想念什么嗎? pat這可能是一個問題嗎?
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()
客戶是紅寶石。 我不相信這是問題所在,因為如果我使用curl,會看到類似的行為。
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))
找到了問題。 我沒有提到我的服務器在Amazon ELB后面。 它的默認超時是60秒。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.