3

Ich entwickle eine Ruby on Rails-Anwendung, die es dem Benutzer ermöglichen soll, gleichzeitig 16 hochqualitative Bilder gleichzeitig hochzuladen.Mehrere Uploads von Ruby on Rails an Amazon S3 - Welches Hintergrundverarbeitungssystem wird verwendet?

Dies bedeutet oft irgendwo um 10-20 Megabyte (manchmal mehr), aber es ist die Anzahl der Verbindungen, die das relevanteste Problem werden.

Die Bilder werden von Paperclip an Amazon S3 gesendet, was leider eine neue Verbindung für jede der 16 Dateien öffnet und schließt. Unnötig zu sagen, muss ich das System verschieben, um als Hintergrundprozesse zu laufen, um meinen Web-Server davon abzuhalten, wie es bereits ist, ohne Verkehr zu sperren.

Meine Frage ist, aus allen Rails-basierten Systemen für Hintergrund-Jobs (Starling, BackgroundRb, Spawn, etc.), wenn es eine Rechnung für dieses Szenario besser als die anderen (I bin ich sowieso neu im Aufbau eines Systems, so dass mir alle verfügbaren Systeme genauso neu sind?

Antwort

2

Es gibt keinen Mangel an Schienen Plugins Async-Verarbeitung zu tun, und im Grunde alle von ihnen funktionieren gut. Persönlich mag ich Delayed Job 's besten.

Ich würde nicht Starling oder andere tatsächliche Warteschlangen Daemons verwenden, da für diese Aufgabe mit der Datenbank zu speichern, alle notwendigen Zustand sollte in Ordnung sein.

+0

Verzögerter Job sieht aus wie es perfekt funktionieren wird. Vielen Dank! – btw

0

ich swfupload mögen, verwenden wir es auf einigen S3-Anwendungen, die wir geschrieben haben. Es ist bewiesen, dass es sehr schnell und stabil ist. Sie können Aktionen über Ajax nach den Uploads usw. abfeuern lassen ... Wir hatten eine Menge Uploads mit 0 Fehlern.