2

私は Rails アプリを持っています。ユーザーが Web から 1 つのアクションを呼び出すと、heroku アプリがランダムな画像を生成し、その画像を S3 にアップロードし、その画像 (s3 に保存されている) のパブリック URL をユーザーに返します...

「その画像をS3にアップロードする」には、文字通り年齢がかかります.27kbのファイルに20秒かかります.それは不可能です.これを修正する方法は本当にわかりません.取りすぎ…

Railsアプリからtmpフォルダーに画像を保存するだけで考えていましたが、削除されるまでにどれくらいの期間そこにあるのかわかりません...何か考えはありますか?

ありがとう!

4

1 に答える 1

2

イメージが一時的なものでない場合は、dyno が非アクティブになると削除されるため、Heroku に保存しないでください。

s3 へのアップロードを非同期バックグラウンド ジョブに移動することを調査する必要があると思います。利用可能なオプションがいくつかあります。DelayedJob、Resque、および Sidekiq は、バックグラウンド処理でより一般的な gem の一部です。また、バックグラウンド ジョブを処理するワーカーを Heroku に追加する必要があります。

アップロードをバックグラウンド ジョブに移行することで、画像のアップロード プロセスが個別に行われるため、ユーザーは長時間待機する必要がなくなります。

于 2012-10-25T02:56:01.477 に答える