Mejorar la fiabilidad de las subidas detectando las abortadas
Aunque la mayoría de nuestras subidas completan con éxito su viaje a través de la world wide web, a veces alguna se pierde por el camino.
Esto se debe a que la web es un lugar peligroso, por así decirlo, y con frecuencia las cosas se pierden entre routers e ISP. Eso hace que esas conexiones agoten su tiempo de espera. Por supuesto, algunas personas simplemente tienen mala suerte con la velocidad de subida de su conexión doméstica, lo que puede llevarlas a cerrar la pestaña del navegador con impaciencia.
Intentamos ayudar con esto último ofreciendo información sobre el progreso de la subida en todos los navegadores, para que la gente pueda estimar el tiempo necesario y hacer otra cosa mientras tanto. Esto parece funcionar bastante bien. Hasta ahora, solo el 1,7 % de nuestras subidas agotaron el tiempo de espera o fueron abortadas.
Sin embargo, hasta ahora no podíamos detectar en qué momento una subida se queda estancada, y eso
significaba que seguíamos mostrando el estado 'ASSEMBLY_UPLOADING' para siempre. Obviamente
eso no era lo ideal, así que por fin decidimos trabajar un poco en nuestro
analizador de subidas hecho a mano. Como resultado, ahora podemos
detectar esas subidas desafortunadas y marcarlas como 'REQUEST_ABORTED'.
De ahora en adelante, también detectaremos la diferencia entre las subidas que agotan el tiempo de espera y las personas que cierran la pestaña del navegador. Sin embargo, para que eso sea posible, primero necesitamos integrar un parche en el núcleo de Node.js.
Por último, también marcamos en nuestro sitio web todas las subidas previamente estancadas como
'REQUEST_ABORTED'.
¡Que lo disfrutes!
Actualización: desde que se escribió esta publicación, Transloadit ha desarrollado y lanzado tus, un protocolo abierto para subidas de archivos reanudables. Tenemos previsto integrar por completo el protocolo tus en el servicio de Transloadit lo antes posible, para que las subidas abortadas sean por completo cosa del pasado.
