Devo aggiornare una applicazione di tipo social network; il software - data la tipologia che lo cxaratterizza - deve implementare funzioni in grado di inviare grosse quantità di email agli utenti registrati, oltre tutto anche frequentemente.
Ad esempio, la funzione deve provvedere all'invio dell'email a tutti utenti appartenenti ad un particolare gruppo all'interno della community, ogni qualvolta uno di loro aggiorna i contenuti discussi dal gruppo.
In tale ambito, alla registrazione del nuovo contenuto (un post, ad esempio), deve seguire l'avviso agli utenti coinvolti. La questione è:
se l'invio email segue la registrazione del contenuto, allora quella stessa funzione termina solo quando anche tutte le email sono state inviate; quindi si ha che il click sul button "salva" da parte dell'utente restituisce il controllo all'applicazione solo dopo che l'operazione di spedizione sia stata completata: potrebbe essere un'operazione immediata, ma su un numero significativo di utenti mi aspetto dei tempi di attesa non accettabili.
Più che i tempi di attesa utente, poi, ritengo inadeguato un servizio svolto in questo modo piuttosto che attraverso una funzione che "lavori in background", vale a dire che registri il contenuto e rispedisca il controllo all'utente mentre le email continuano ad essere inviate in maniera asincrona dal server.
E' una questione che sussiste veramente o sto ragionando su problemi inesistenti? Voglio dire: le email finiscono in una coda del server che prosegue le "sue" attività comunque in modo asincrono o posso/devo fare qualcosa sul click "salva" per ottimizzare l'intero processo?
GRAZIE a chiunque potrà darmi chiarirmenti.

Rispondi quotando
