/ / Django: Upload de arquivo para o s3 usando o boto - django, processing-image, amazon-s3, boto

Django: Upload de arquivo para s3 usando boto - django, processamento de imagem, amazon-s3, boto

estou tentando upload images (tamanho médio de 12 MB) para o meu servidor (django usando PIL), estou processando-os para reduzir as imagens e criar miniaturas.

Durante esse processo, não estou salvando imagens no disco local do servidor, estou usando In Memory file e processando-o. Estou carregando imagens para o s3, usando boto e tenho uma imagem original, uma imagem em escala e a miniatura que deve ser carregada uma a uma (todas essas três ainda estão presentes na minha memória).

Esse processo consome muito tempo e, às vezes, o servidor que estou usando (Digital Ocean 512 MB RAM) gera erro de falta de memória.

Posso saber se existe uma maneira melhor de enviar imagens

Qualquer ajuda é muito apreciada. Desde já, obrigado.

Respostas:

1 para resposta № 1

Eu não trabalhei muito com django e boto, mas você pode tentar algumas sugestões:

  • Atualize seu servidor. se você deseja processar arquivos muito grandes, o processamento de imagens requer muita memória.
  • Você pode tentar implementar filas (ou seja, sempre que receber um upload pedido e arquivo é maior, enfileire-o e processe-o após a atualização processo está concluído). Você pode usar aipo para este trabalho.
  • Se você não precisar de arquivos muito grandes, poderá reduzir a imagem tamanho no lado do cliente primeiro e depois passá-lo para o servidor.