Ho un sospetto: inviamo anche al nostro Discourse email provenienti dalle mailing list. Se un messaggio vecchio in attesa di moderazione viene rilasciato dal moderatore della mailing list, potrebbe essere considerato troppo vecchio dal filtro di Discourse. A causa del break, il ciclo verrà interrotto. Di conseguenza, un singolo messaggio vecchio potrebbe bloccare tutto l’ulteriore elaborazione.
Ah, e a causa dell’ordine di questo server email POP, viene elaborato dal più vecchio al più recente.
Che ne dici di questa patch @gerhard? Inoltre, preferisci Discourse.handle_job_exception se possibile per la corretta segnalazione di eventuali altri errori.
- break if mail_too_old?(mail_string)
+ next if mail_too_old?(mail_string)
Grazie per la spiegazione. Ha senso.
@riking Concordo, una correzione adeguata dovrebbe utilizzare handle_job_exception. Sentiti libero di creare una PR. ![]()
Questo dovrebbe risolvere il problema.