Загрузка большого файла для проекта Rails

Один клиентский проект будет запущен через два месяца. Одним из измененных требований является поддержка загрузки больших файлов (от 10 до 15 МБ на файл камеры RAW, ожидаемая загрузка от 1000 до 5000 файлов в день) по всему миру для их клиентов. Процесс будет:

  • есть экран загрузки через скрепку в локальную общедоступную папку rails
  • почасовая задача для загрузки в веб-хранилище (S3?)
  • обновить URL-адрес загрузки с URL-адреса скрепки на веб-адрес

Вопросы:

  1. есть ли драгоценный камень/плагин для этой цели?
  2. если нет, какой гем/плагин для S3 можно порекомендовать?

Вопросы о поставщике хранилища:

  1. рекомендуется S3?
  2. или другой сервис порекомендовать?

Базовый уровень таков: у веб-сервера клиента нет и не будет пропускной способности для обработки загрузок.

Спасибо


person ohho    schedule 11.05.2010    source источник


Ответы (3)


Я не думаю, что есть что-то, что сделает все это из коробки для вас. Paperclip будет отправлять файлы синхронно на S3 при загрузке, поэтому вам нужно будет сделать это асинхронно самостоятельно.

S3 надежен, я использовал его в производстве в ряде проектов. Полностью рекомендуется.

Вы можете загружать файлы непосредственно в S3, что может помочь, уменьшив двойную обработку файла (больше не нужно загружать в свое приложение перед отправкой на Amazon):

http://developer.amazonwebservices.com/connect/entry.jspa?categoryID=139&externalID=1434

person Toby Hede    schedule 11.05.2010

Возможно, вам нужны драгоценные камни aws-s3 и delayed_job.

гем установить aws-s3

Насколько мне известно, S3 популярен и широко используется.

person Daniel Heath    schedule 11.05.2010

Если вы в конечном итоге пойдете по пути загрузки непосредственно на S3, который разгружает работу с вашего сервера Rails и делает ее асинхронной, ознакомьтесь с моими примерами проектов:

Пример проекта с использованием Rails 3, Flash и FancyUploader на основе MooTools для прямой загрузки в S3: https://github.com/iwasrobbed/Rails3-S3-Uploader-FancyUploader

Пример проекта с использованием Rails 3, Flash/Silverlight/GoogleGears/BrowserPlus и Plupload на основе jQuery для прямой загрузки в S3: https://github.com/iwasrobbed/Rails3-S3-Uploader-Plupload

person iwasrobbed    schedule 27.05.2011