Boucle infinie dans l'envoi d'e-mails de résumé

Bonjour à tous.

Notre serveur Discourse est entré dans une boucle infinie, envoyant des e-mails sans arrêt. Voici la sortie de shared/standalone/log/rails/production.log :

Delivered mail 7db8eecd-c36a-419c-ae34-0561b08bae25@community.xx.cc (1322.2ms)
  Rendered user_notifications/digest.text.erb (Duration: 50.1ms | Allocations: 12577)
  Rendering user_notifications/digest.html.erb within layouts/email_template
  Rendered user_notifications/digest.html.erb within layouts/email_template (Duration: 139.5ms | Allocations: 26910)
  Rendering user_notifications/digest.text.erb
  Rendered user_notifications/digest.text.erb (Duration: 71.7ms | Allocations: 13505)
Delivered mail 5bbf2e54-96a8-437d-a032-69f98a00f22a@community.xx.cc (1485.2ms)
  Rendering user_notifications/digest.html.erb within layouts/email_template
  Rendered user_notifications/digest.html.erb within layouts/email_template (Duration: 70.9ms | Allocations: 20613)
  Rendering user_notifications/digest.text.erb
  Rendered user_notifications/digest.text.erb (Duration: 38.2ms | Allocations: 11390)

Cela a commencé soudainement (probablement lorsque le cron des résumés a démarré :

)

Maintenant, un cœur est entièrement occupé à l’envoi d’e-mails de résumé.

  • La reconstruction de l’application n’a pas aidé ;

  • Mise à jour vers la dernière version : aucun changement ;

  • Activation de « Désactiver les e-mails de résumé pour tous les utilisateurs » et reconstruction de l’application : aucun changement ;

    #### Installé
    
    ### 2.4.0.beta5
    

Que puis-je faire d’autre ? Comment puis-je arrêter cela ?
Merci d’avance.

1 « J'aime »

Je pourrais me tromper, mais je pense que ce qui s’est passé, c’est que les e-mails de résumé ont été mis en file d’attente et qu’ils sont maintenant en cours de livraison. Cela va continuer jusqu’à ce qu’ils soient tous envoyés.

Si j’ai raison, vous pouvez désactiver les e-mails, puis trouver la table qui les contient et les supprimer. Mais cela se reproduira la prochaine fois que les e-mails de résumé seront envoyés.

1 « J'aime »

Oui, mais cela dure déjà depuis trois jours. Tous les autres e-mails (comme ceux d’inscription, par exemple) ne sont plus livrés. La communauté fonctionne, mais aucun e-mail n’est envoyé.
J’ai trouvé un problème très similaire : Extreme memory usage due to bad mail credentials. Cela ressemble donc à un bug astucieux.

La seule solution que j’ai trouvée pour arrêter cela a été de supprimer le jeton d’authentification chez mon fournisseur SMTP. Discourse a commencé à afficher des centaines d’erreurs, et ce n’est qu’après cela que la charge a diminué. J’ai restauré le jeton et maintenant tout semble correct.

1 « J'aime »

Avez-vous de mauvaises identifiants de messagerie ?

@codinghorror J’ai trouvé la cause racine du problème. Notre fournisseur de messagerie a supprimé (pour leurs propres raisons stupides) les enregistrements d’hôte vérifiés de notre compte. Ces enregistrements d’hôte servaient à fournir le champ from dans l’e-mail avec notre hôte. Donc, après qu’ils l’ont fait, Discourse est entré dans une boucle infinie. Je pense que le flux de Discourse présente également un bug dans ce cas. Il devrait signaler l’erreur et arrêter de charger un cœur à 100 %.

Donc, le compte est correct. Mais le fournisseur de messagerie renvoie une erreur lors de l’envoi de l’e-mail : « Mauvais hôte d’envoi » ou quelque chose dans ce genre, et ce flux provoque le problème.

2 « J'aime »

Je suis d’accord, c’est un mauvais état dans lequel se trouver et nous devrions mieux le gérer.

1 « J'aime »

Tout est revenu à la normale maintenant ?

Oui. Après avoir modifié les identifiants de messagerie.

1 « J'aime »