Pergunta

Então, eu estou usando Paperclip e AWS-S3, que é impressionante. E ele funciona muito bem. Apenas um problema, porém: eu preciso fazer upload de arquivos muito grandes. Como em mais de 50 megabytes. E assim, morre nginx. armazena Então, aparentemente Paperclip coisas para o disco antes de ir para S3?

Eu encontrei este muito legal artigo , mas também parece estar indo para o disco primeiro, e depois fazer tudo o mais no fundo.

Idealmente, eu seria capaz de fazer o upload do arquivo em segundo plano ... Eu tenho uma pequena quantidade de experiência fazendo isso com PHP, mas nada com Rails como de ainda. Poderia alguém me apontar uma direção geral, mesmo?

Foi útil?

Solução

Talvez você tem que aumentar o tempo de espera nas configurações nginx?

Outras dicas

Você pode ignorar o servidor inteiramente e upload diretamente para o S3 que impedirá o tempo limite. A mesma coisa acontece na Heroku. Se você estiver usando Rails 3, confira meus projetos de amostra:

Exemplo de projeto utilizando o Rails 3, com sede em MooTools Flash e FancyUploader para fazer o upload diretamente para S3: https://github.com/iwasrobbed/Rails3-S3-Uploader-FancyUploader

Exemplo de projeto utilizando Rails 3, Flash / Silverlight / GoogleGears / BrowserPlus e Plupload baseado em jQuery para fazer o upload diretamente para S3: https://github.com/iwasrobbed/Rails3-S3-Uploader-Plupload

A propósito, você pode fazer o pós-processamento com Paperclip usando algo como este blog (que Nico escreveu) descreve:

http://www.railstoolkit.com/posts/ fancyupload-amazon-s3-carregador-com-clipe

Você pode estar interessado no meu post aqui:

http://www.railstoolkit.com/posts / fancyupload-amazon-s3-carregador-com-clipe

Seu sobre o upload de vários arquivos (com barras de progresso, simultaneamente) diretamente a S3 sem bater o servidor.

Eu estava tendo um problema semelhante, mas com o uso de clipe, de passageiros e de apache.
Como nginx, apache tem uma diretiva Timeout no apache que eu aumentei para resolver o meu problema.

Além disso, há uma coisa passageiro interessante é que ao fazer upload de arquivos grandes.
Qualquer coisa sobre o 8k é escrito para / tmp / passageiro. e se apache não tem permissões para escrever lá você obter 500 erros também.

Aqui está o artigo.
http://tinyw.in/fwVB

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top