1

我在Heroku上運行rails 3.2.11應用程序,並遇到間歇性問題,我一直無法弄清楚。Heroku上載小文件到S3 w/carrierwave_direct時出現間歇性H12超時

我有一個模型,其中包含用戶上傳的文件。該文件通常約爲300-400Kb。當用戶嘗試創建或編輯此模型並上傳文件時,我在生產中看到一個問題,我定期收到h12超時錯誤。很難重新創建這個錯誤,因爲當我測試它時,幾乎所有的時候都可以正常工作,包括高達10MB,所以這個問題似乎並沒有直接影響文件大小。

我正在使用carrierwave_direct gem直接上傳到S3。我開始帶載波寶石,並轉向carrierwave_direct,希望能解決問題。我沒有對文件進行任何後期處理,我只需要上傳它。

我在prod中重新創建了這個錯誤,除了我自己以外的服務器上沒有用戶,所以它似乎也不是流量問題。

實施例的Heroku日誌條目:

在=錯誤代碼= H12 DESC = 「請求超時」 方法= POST DYNO = web.1隊列= 0毫秒等待= 0毫秒連接= 1毫秒服務= 33605ms狀態= 503個字節= 0

謝謝!

+0

沒有ü嘗試一個像railscast解釋呢? – chaitanya 2013-04-08 09:34:08

回答

1

Heroku超時請求的時間超過了30秒 - 這始終是上傳時的問題。

使用Amazon S3,您可以直接上傳而不需要通過Heroku,並在上傳完成後通過對Heroku的響應,從而完全繞過Heroku的超時時間 - 您需要查看Rackspace是否提供此類功能。

http://railscasts.com/episodes/383-uploading-to-amazon-s3

上面的鏈接將幫助你上傳圖像與S3和carrierwave_direct後臺作業幫助

+0

正如我在我的問題中所述,我已經在使用carrierwave_direct gem上傳到S3。 – DeveloperJoe 2013-04-10 06:13:21

+0

+使用一些後臺作業,因爲它似乎仍然需要超過30秒 – chaitanya 2013-04-10 13:42:36