180 messaggi dal 10 agosto 2019
ciao a tutti ,inizialmente ho provato a spedire un email per volta e tutto funziona,il problema è che se spedisco due email senza un intervallo di tempo la seconda fallisce ,la situazione torna a funzionare se inserisco uno Sleep() tra le due chiamate , dopo qualche ricerca vorrei aggiungere un servizio singleton ai services ed un metodo che crei una coda che mi permetta di accodare le email e spedirne ,ad esempio,una ogni due secondi e che abbia un meccanismo di retry (quest'ultima cosa anche in un secondo tempo) ,
avete qualche suggerimento su come costruire la coda e/o qualche esempio da suggerire ? quali oggetti sarebbe più appropriato utilizzare in .Net? , grazie mille in anticipo per una vostra risposta ,
ciao
Modificato da surfernet123 il 13 dicembre 2020 18:52 -
dai un'occhiata a HangFire https://www.hangfire.io/

Ne abbiamo anche parlato in precedenti script/articoli.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Digital Officer@icubed | Chief Innovation Officer@openloop
Microsoft Regional Director, MV
15 messaggi dal 16 giugno 2014
Personalmente ho risolto in questo modo.

Il sistema principale non invia le email, ma le mette in una tabella di DB, man a mano che vengono create.

Un secondo processo (microservizio), totalmente staccato dal primo (ogni ora, ma configurabile), legge da questa tabella una riga alla volta, prepara la email ed invia la richiesta al server di posta.
Se il server di posta risponde ok, allora pone un flag a ok sulla tabella per quel record, indicando la data ora invio in modo che volendo si sappia quando è stata mandata e passa al record successivo.

Quando ha mandato l'ultima mail torna a dormire per un'altra ora.

Il vantaggio di questo sistema è che se il server di posta non risponde o ci sono problemi di rete momentanei, il sistema non si blocca mai.
è esattamente quello che fa HangFire

Daniele Bochicchio | ASPItalia.com | Libri
Chief Digital Officer@icubed | Chief Innovation Officer@openloop
Microsoft Regional Director, MV
180 messaggi dal 10 agosto 2019
grazie mille a tutti per le risposte,ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.