-1

我部署了我的rails項目在heroku上,但我面對超時錯誤heroku。我在heroku上使用美洲獅服務器。我的項目是關於使用URL抓取網絡數據。我也試過webrick &獨角獸服務器。任何人都可以爲我解決這個問題嗎?使用美洲獅服務器的heroku超時錯誤

回答

0

你的問題是缺乏什麼導致超時錯誤的信息。當您從其他網頁獲取數據時,可能是由於沒有響應的HTTP URL導致超時。

在這種情況下,您使用的Web服務器可能無關緊要。事實上,Heroku強加了30秒的request timeout。如果您的應用程序在30秒內未返回響應,則Heroku終止該請求。使用哪個Web服務器並不重要。

爲了解決這個問題,你必須

  1. 在代碼中設置超時(可以使用Timeout庫),以確保沒有外部的HTTP請求花費的時間超過一定期限更,它必須低於Heroku超時。

  2. 您可能還想將遠離請求的上下文任務移動到不受Heroku中的請求超時限制的異步作業中。但是,爲了做到這一點,您需要一個後臺工作系統,如Sidekiq或Resque。

+0

其實我從其他網站使用URL獲取數據。我使用sidekiq但它沒有工作........我想在後臺運行任務...但我不知道如何做到這一點 –