Bel lavoro @RGJ!
Mentre anticipiamo una soluzione, a parte, sarebbe bene se questo problema non causasse la cascata di problemi che ho sperimentato, che hanno quasi mandato in crash il mio forum. Nello specifico:
- I fallimenti delle email sembrano essere ritentati molto rapidamente, il che fa esplodere la coda di sidekiq in termini di dimensioni e causa un utilizzo della CPU del ~100% dovuto a questi task.
- Inoltre, qualcosa (crash o riavvii) stava causando a Redis la scrittura di enormi file temporanei, presumibilmente contenenti lo stato della coda di sidekiq. Sebbene fosse sicuro rimuoverli, hanno rapidamente riempito il disco, causando altri crash, e così via. Avevo altro spazio su disco che sono riuscito a liberare per poter riavviare il forum e capire cosa stesse succedendo, ma questo potrebbe non essere vero per tutti. (È anche piuttosto difficile confermare che, in questo caso, i file temporanei di Redis siano effettivamente sicuri da eliminare.)
La mia ipotesi è che la soluzione più semplice sia rallentare il ritentativo sui job email falliti, o almeno su quelli che non hanno vincoli di tempestività come il reset della password. Il che sembra appropriato dato che i problemi di posta elettronica difficilmente si risolveranno rapidamente, e la maggior parte / tutti i mailer effettueranno i propri ritentativi una volta ricevuta una richiesta.