2009-07-19 15 views
5

У меня есть приложение для рельсов с видео и изображениями. Оба используют SWFUpload для обратной связи с индикацией прогресса и загрузки в очередь. Таким образом, они загружаются в TempImage и TempVideo, а затем, когда сохраняются модели видео и изображений ActiveRecord, темп перемещается.Как вы можете отправить файл на S3 после того, как вся обработка выполняется с помощью paperclip в rails?

На изображениях разные стили создаются с помощью процессора paperclip по умолчанию. На видеороликах после их загрузки они помещаются в очередь в фоновом режиме (с использованием скейлинга &), чтобы перекодировать в формат FLV и создать миниатюру jpg.

Итак, мой вопрос заключается в следующем: я хочу иметь возможность делать все эти преобразования на локальном сервере, но я хотел бы, чтобы файлы сохранялись на S3 в конце, чтобы сохранить пространство и пропускную способность на моем сервере. Как я могу использовать бэкэнд S3 для скрепки для этого? Или вместо этого у меня есть фоновая задача, выполняющая загрузку на S3 независимо от paperclip после выполнения всех задач after_save, которые обновляют атрибуты скрепки, чтобы отразить новый путь S3?

ответ

4

Я только что написал статью, объясняющую, как я обрабатываю синхронизацию загрузки Paperclip (в файловую систему) и Amazon S3 в фоновом режиме с помощью Starling и Workling. Возможно, вы сможете адаптировать это к своей ситуации.

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