1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Entender las devoluciones de llamada y solicitudes SOAP
Esta guía detalla ciertas operaciones realizadas en segundo plano por el servicio VOD / AOD de Infomaniak.
Funcionamiento de las solicitudes SOAP y los callbacks
En el servicio de VOD (vídeo bajo demanda) y AOD (audio bajo demanda), ciertas operaciones como la descarga de archivos se realizan a través de solicitudes SOAP, un protocolo que permite la comunicación entre dos sistemas, a menudo utilizado para intercambiar datos entre servidores.
Cuando se solicita un archivo a través de SOAP, puede haber un retraso antes de que el servidor responda. Este retraso depende de varios factores, como el tamaño del archivo, la carga del servidor o la calidad de la conexión. La descarga comienza tan pronto como sea posible, pero hay que saber que hay una cola: si varios usuarios hacen solicitudes al mismo tiempo, cada una se procesa en orden, y cada usuario tiene un límite de descargas simultáneas.
Callback: una notificación al final de la descarga
Un callback es un sistema que permite notificar al cliente (por ejemplo, su aplicación) una vez que la descarga ha terminado. En otras palabras, en lugar de esperar vigilando la descarga, el sistema le "llama" o le envía una respuesta cuando todo está listo. Esto es útil para evitar bloquear su aplicación mientras se descarga el archivo.
Sin embargo, también existe un tiempo máximo de espera, llamado timeout. Si este tiempo se alcanza antes de que finalice la descarga, se envía una respuesta de todos modos. Esto no significa que la descarga haya fallado, sino que la respuesta se ha dado antes de que se complete. En este caso, el procesamiento continúa en segundo plano.
Los archivos grandes tardan más
Cuando el archivo solicitado es voluminoso (por ejemplo, varios cientos de megabytes o incluso varios gigabytes), la descarga puede tardar varios minutos. Este tiempo depende en gran medida del servidor remoto: algunos son muy rápidos, otros menos. El sistema intenta gestionarlo lo mejor posible, pero hay que tener en cuenta que el tiempo de respuesta no siempre será inmediato.
Llamadas bloqueantes y no bloqueantes
Por defecto, algunos clientes SOAP esperan a que el servidor termine de responder antes de continuar. Entonces se habla de una llamada bloqueante : su aplicación se congela hasta que llegue la respuesta. Esto puede ser un problema si la respuesta tarda.
Afortunadamente, a menudo es posible configurar el cliente SOAP para que no bloquee. Entonces se habla de una llamada no bloqueante. Esto permite enviar varias solicitudes una tras otra sin tener que esperar la respuesta de cada llamada. Es más rápido y más eficiente, especialmente cuando se trata varios archivos seguidos.