2013-07-24 12 views
1

當我上傳一個圖片(在Amazon S3服務器)到Heroku的應用程序,有時應用程序無法在30秒內處理,我在屏幕上看到有關應用程序錯誤警告消息。Rails的 - 從一個攝像頭,在照片已讓我們說超過2.5MB以上上傳大圖像的Heroku

這是不是很人性化的行爲,如何避免這種情況的演技?我現在可以購買額外的測功機,但我不確定這是否是一種解決方案。對於文件上傳,我使用Paperclip gem。

你怎麼解決這種情況下,當用戶上傳,讓我們說比3MB更大的圖像?

+0

你是否正在對圖像進行任何形式的後期處理(如用回形針調整大小)可能會減慢速度?使用回形針在heroku上使用軌道上傳文件大小不超過25mb,沒有問題。 –

+0

是的,基本調整拇指和中等大小的圖像 - >這意味着我正在上傳原始圖像,並從這個原始大小的圖像,我正在創建另外2個圖像。 – user984621

回答

0

有幾件事情你可以做:(爲了從最好到最壞的賭注)

  1. 如果你有一個需要做的圖像很多,處理。第後(如調整他們),你可以使用「延遲作業」完成所有處理。這樣,你得到響應更快,但您的備用或圖像的調整版本不立即可用,只有:original。這裏有一個教程:http://madeofcode.com/posts/42-paperclip-s3-delayed-job-in-rails

  2. 你可以使用Unicorn或它的表親之一。雖然它可能不會自行修復圖片上傳問題,但它允許您調整請求超時所需的時間。作爲一個額外的獎勵,它也應該加快你的應用程序的其他部分。

  3. 您可以嘗試使用Carrier WaveCarrierWaveDirect而不是回形針。這是在黑暗中拍攝的,因爲我從來沒有親自使用它,但它應該是'更好',這可能意味着更快?也許?這聽起來像是與延期工作的回形針相似。

相關問題