3

私はRuby on Railsアプリケーションを開発しています。このアプリケーションでは、16個の高品質画像を同時にアップロードする必要があります。Ruby on RailsからAmazon S3への複数のアップロード - 使用するバックグラウンド処理システム

これは、10〜20メガバイト(時にはそれ以上)を意味することがよくありますが、これは最も重要な問題になっている接続の数です。

画像はPaperclipからAmazon S3に送信されていますが、残念ながら16個のファイルのそれぞれに対して新しい接続を開き、閉じます。言うまでもなく、トラフィックがなくてもWebサーバーをロックしないように、バックグラウンドプロセスとしてシステムを動かす必要があります。

バックグラウンドジョブ(Starling、BackgroundRb、Spawnなど)に使用するRailsベースのシステムのうち、このシナリオの請求書に他のものよりも優れたものがある場合は、とにかくイン・ザ・バックグラウンド・システムを構築することに新しいので、利用可能なシステムはすべて私には全く新しいものです)。

答えて

2

非同期処理を行うためのレールプラグインは不足しておらず、基本的にすべて正常に動作します。個人的に私はDelayed Jobのapi bestが好きです。

私はStarlingや他の実際のキューデーモンを使用しません。なぜなら、このタスクではデータベースを使用して必要な状態を保存するだけでよいからです。

+0

遅延ジョブは完璧に動作するように見えます。ありがとう! – btw

1

これは役に立ちます!

http://aaronvb.com/blog/2009/7/19/paperclip-amazon-s3-background-upload-using-starling-and-workling

EDIT:

それは背景にファイルを送信するために、通常のHTMLマルチパートフォームを通じて、ことはできません。彼らはその要求を通して完了しなければなりません。その周りの方法を探しているなら、SWFUploadを試してから、もう一度、Amazon S3アップロードを処理するためのバックグラウンドプロセスを使用することができます。

0

良い調査のブログ記事で、私はSWFUploadのが好きで、私たちは書いたいくつかのS3のアプリでそれを使用しています。非常に速く安定していることが証明されています。アップロードした後、Ajax経由でアクションを実行させることができます。私たちは、大量のアップロードを0回の失敗で処理しました。

関連する問題