Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Passar o arquivo para o trabalho ativo/trabalho em segundo plano


Sugiro fazer o upload diretamente para um serviço como o Amazon S3 e, em seguida, processar o arquivo como achar melhor em um trabalho em segundo plano.

Quando o usuário carrega o arquivo, você pode ter certeza de que ele será armazenado com segurança no S3. Você pode usar um bucket privado para proibir o acesso público. Em seguida, em sua tarefa em segundo plano, você pode processar o upload passando o URI do S3 do arquivo e permitir que seu funcionário em segundo plano baixe o arquivo.

Não sei o que seu trabalhador em segundo plano faz com o arquivo, mas nem é preciso dizer que baixá-lo novamente pode não ser necessário. Afinal, está guardado em algum lugar.

Eu usei a gema carrierwave-direct no passado com sucesso. Como você está mencionando o Heroku, eles têm um guia detalhado para fazer upload de arquivos diretamente para o S3.