1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Capire i callback e le richieste SOAP
Questa guida descrive alcune operazioni eseguite in background dal servizio VOD / AOD Infomaniak.
Funzionamento delle richieste SOAP e dei callback
Nel servizio di VOD (video on demand) e AOD (audio on demand), alcune operazioni come il download dei file passano attraverso 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 il prima possibile, ma è importante sapere che c'è una coda: se diversi utenti fanno richieste contemporaneamente, ciascuna viene elaborata in ordine, e ogni utente ha un limite di download simultanei.
Callback: una notifica alla fine del download
Un richiamo è un sistema che permette di notificare il cliente (ad esempio, la tua applicazione) una volta che il download è completato. In altre parole, invece di aspettare monitorando il download, il sistema ti « chiama » o ti invia una risposta quando tutto è pronto. Questo è utile per evitare di bloccare la tua applicazione mentre il file si sta scaricando.
Tuttavia, esiste anche un tempo massimo di attesa, chiamato timeoutSe questo ritardo viene raggiunto prima che il download sia completato, viene comunque inviata una risposta. Questo non significa che il download è fallito, ma che la risposta è stata inviata prima che fosse completato. In questo caso, l'elaborazione continua in background.
I file di grandi dimensioni richiedono più tempo
Quando il file richiesto è voluminoso (ad esempio, diversi centinaia di megabyte o anche 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 possibile, ma è importante tenere a mente che il tempo di risposta non sarà sempre immediato.
Chiamate bloccanti e non bloccanti
Di default, alcuni client SOAP attendono che il server abbia finito di rispondere prima di continuare. In questo caso si parla di una chiamata bloccante : la tua applicazione è bloccata fino all'arrivo della risposta. Questo può causare problemi se la risposta impiega del tempo.
Fortunatamente, spesso è possibile configurare il client SOAP in modo che non blocchi. In questo caso si parla di una chiamata non bloccanteQuesto 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 di seguito.