1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Comprendere i callback e le richieste SOAP
Questa guida dettaglia alcune operazioni eseguite in background dal servizio VOD / AOD di Infomaniak.
Funzionamento delle richieste SOAP e dei callback
Nel servizio VOD (video on demand) e AOD (audio on demand), alcune operazioni come il download dei file avvengono tramite richieste SOAP, un protocollo che permette a due sistemi di comunicare tra loro, spesso utilizzato per scambiare dati tra server.
Quando un file viene richiesto tramite SOAP, può esserci un ritardo prima che il server risponda. Questo ritardo dipende da diversi fattori, come la dimensione del file, il carico del server o la qualità della connessione. Il download inizia non appena possibile, ma è importante sapere che c'è una coda: se più utenti fanno richieste contemporaneamente, ciascuna viene elaborata in ordine e ogni utente ha un limite di download simultanei.
Callback: una notifica al termine del download
Un callback è un sistema che notifica il cliente (ad esempio, la tua applicazione) una volta completato il download. In altre parole, invece di attendere monitorando il download, il sistema ti "chiama" o invia una risposta quando tutto è pronto. Questo è utile per evitare di bloccare la tua applicazione durante il download del file.
Tuttavia, esiste anche un tempo massimo di attesa, chiamato timeout. Se questo tempo viene raggiunto prima della fine del download, viene comunque inviata una risposta. Questo non significa che il download è fallito, ma che la risposta è stata data prima che fosse completato. In questo caso, l'elaborazione continua in background.
I file grandi richiedono più tempo
Quando il file richiesto è voluminoso (ad esempio, diverse centinaia di megabyte o addirittura diversi gigabyte), il download può richiedere diversi minuti. Questo tempo dipende molto dal server remoto: alcuni sono molto veloci, altri meno. Il sistema cerca di gestire al meglio questa situazione, ma è importante tenere a mente che il tempo di risposta non sarà sempre immediato.
Chiamate bloccanti e non bloccanti
Per impostazione predefinita, alcuni client SOAP attendono che il server abbia finito di rispondere prima di continuare. Si parla allora di una chiamata bloccante : la tua applicazione è bloccata fino a quando non arriva la risposta. Questo può creare problemi se la risposta impiega tempo.
Fortunatamente, è spesso possibile configurare il client SOAP in modo che non blocchi. Si parla allora di una chiamata non bloccante. Questo permette di inviare più richieste una dopo l'altra senza dover attendere la risposta di ogni chiamata. È più veloce ed efficiente, soprattutto quando si elaborano più file in sequenza.