Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Datei an aktiven Job / Hintergrundjob übergeben

Ich würde vorschlagen, direkt auf einen Dienst wie Amazon S3 hochzuladen und die Datei dann nach Belieben in einem Hintergrundjob zu verarbeiten.

Wenn der Benutzer die Datei hochlädt, können Sie sicher sein, dass sie sicher in S3 gespeichert wird. Sie können einen privaten Bucket verwenden, um den öffentlichen Zugriff zu verbieten. Dann können Sie in Ihrer Hintergrundaufgabe den Upload verarbeiten, indem Sie den S3-URI der Datei übergeben und Ihren Hintergrundarbeiter die Datei herunterladen lassen.

Ich weiß nicht, was Ihr Hintergrundarbeiter mit der Datei macht, aber es versteht sich von selbst, dass ein erneutes Herunterladen möglicherweise nicht erforderlich ist. Es ist schließlich irgendwo gespeichert.

Ich habe das Carrierwave-Direct-Juwel in der Vergangenheit erfolgreich verwendet. Da Sie Heroku erwähnen, gibt es dort eine detaillierte Anleitung zum direkten Hochladen von Dateien auf S3.