簡體   English   中英

Golang HTTP服務器超時

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM