5

だから、私はペーパークリップとAWS-S3を使っています。これは素晴らしいです。そしてそれは素晴らしい働きをします。ただし、問題が1つだけあります。それは、非常に大きなファイルをアップロードする必要があるということです。50メガバイト以上のように。そして、nginxは死にます。それで、どうやらペーパークリップはS3に行く前に物事をディスクに保存しますか?

私はこの本当にクールな記事を見つけましたが、それは最初にディスクに行き、次にバックグラウンドで他のすべてを行うようです。

理想的には、バックグラウンドでファイルをアップロードできると思います... PHPでこれを行った経験は少しありますが、Railsではまだ何もありません。誰かが私を一般的な方向に向けることができますか?

4

4 に答える 4

6

サーバーを完全にバイパスしてS3に直接アップロードすると、タイムアウトを防ぐことができます。Herokuでも同じことが起こります。Rails 3を使用している場合は、私のサンプルプロジェクトを確認してください。

Rails 3、Flash、MooToolsベースのFancyUploaderを使用してS3に直接アップロードするサンプルプロジェクト:https ://github.com/iwasrobbed/Rails3-S3-Uploader-FancyUploader

Rails 3、Flash / Silverlight / GoogleGears / BrowserPlus、jQueryベースのPluploadを使用してS3に直接アップロードするサンプルプロジェクト:https ://github.com/iwasrobbed/Rails3-S3-Uploader-Plupload

ちなみに、このブログ投稿(ニコが書いた)のようなものを使用して、ペーパークリップで後処理を行うことができます:

http://www.railstoolkit.com/posts/fancyupload-amazon-s3-uploader-with-paperclip

于 2011-05-27T17:19:50.670 に答える
5

多分あなたはngix設定でタイムアウトを増やす必要がありますか?

于 2009-08-12T10:24:31.027 に答える
1

あなたはここで私の投稿に興味があるかもしれません:

http://www.railstoolkit.com/posts/fancyupload-amazon-s3-uploader-with-paperclip

サーバーにアクセスせずに、複数のファイルを(プログレスバーを使用して同時に)S3に直接アップロードすることについてです。

于 2009-08-28T14:55:50.320 に答える
0

私も同様の問題を抱えていましたが、ペーパークリップ、乗客、アパッチを使用していました。
nginxと同様に、apacheにはapacheにTimeoutディレクティブがあり、問題を解決するためにこれを増やしました。

また、大きなファイルをアップロードするときに乗客が行う興味深いことがあります。
8kを超えるものはすべて/tmp/passengerに書き込まれます。また、apacheに書き込み権限がない場合は、500エラーも発生します。

これが記事です。
http://tinyw.in/fwVB

于 2011-12-18T20:52:21.390 に答える