Rails: как работает фоновая загрузка файлов? - PullRequest
4 голосов
/ 28 апреля 2010

Загрузка файла в цикле REQUEST / RESPONSE для больших файлов не является приятным опытом для пользователя, потому что приложение, кажется, зависает во время загрузки файла. Еще более важно то, что пользователь может прервать загрузку, и ему необходимо заново запустить процесс загрузки позже.

Как я могу сделать процесс загрузки в фоновом режиме?

Есть несколько примеров запуска фоновых задач в rails на railscasts.com , но мне не ясно, как интегрировать фоновую работу с загрузкой файла.

В других местах я вижу, что для этого мне нужно настроить веб-сервер, но затем мне нужно попросить людей с моего общего хоста о технической поддержке по этому вопросу?

1 Ответ

4 голосов
/ 27 мая 2011

Если вы используете Rails 3, пожалуйста, ознакомьтесь с моими примерами проектов, которые позволяют загружать данные прямо на S3 и выгружать работу из приложения. Тогда вы можете просто использовать отложенную работу для выполнения дополнительных операций:

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

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

Кстати, вы можете выполнить постобработку с помощью Paperclip & delayed_job, используя что-то вроде этого сообщения в блоге:

http://www.railstoolkit.com/posts/fancyupload-amazon-s3-uploader-with-paperclip

...