2012-02-26 18 views
5

Tengo un FileField que usa el S3BotoBackend de django-storageers para cargar archivos de audio a Amazon S3. Los archivos de audio pueden tener un tamaño de hasta 10 MB, y un usuario puede cargar varios archivos en el mismo formulario. El tiempo de carga puede ser muy largo y bloquea. Para acelerar el proceso, pensé en escribir un backend de almacenamiento personalizado que herede S3BotoBackend y envíe trabajos a una cola de beans antes de subir a S3.Cómo acelerar la velocidad de carga de Django FileField?

¿Hay alguna alternativa más fácil para acelerar la experiencia del usuario?

Respuesta

2

Si desea acelerar las cosas, querrá tener su servidor web más involucrado con el manejo de las cargas. Puede consultar el Nginx upload module para Nginx, aunque puede lograr gran parte de lo mismo utilizando cualquier servidor web.

Para este enfoque, configurará una vista que va a recibir una solicitud una vez que el usuario haya cargado correctamente un archivo, que sería el momento oportuno para poner en cola el archivo que se cargará en S3.

Esto le permitirá recibir de forma asíncrona cargas múltiples de un usuario y enviarlas de manera asíncrona a S3, que debería cubrir casi todo lo que podría hacer para mejorar la experiencia de carga de archivos.

Cuestiones relacionadas