Base di conoscenze
1 000 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 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 alla fine 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 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 viene scaricato.
Tuttavia, esiste anche un tempo massimo di attesa, chiamato timeout. Se questo tempo viene raggiunto prima della fine del download, una risposta viene comunque inviata. 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 impiegano 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 possibile, 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 aspettare la risposta di ogni chiamata. È più veloce ed efficiente, soprattutto quando si elaborano più file in sequenza.
Link a questa FAQ:
Questa FAQ è stata utile?