Unser Discourse-Server geriet in eine Endlosschleife und sendete ununterbrochen E-Mails. Hier ist die Ausgabe von 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)
Dies begann plötzlich (wahrscheinlich, als der Digest-Cron-Job startete:
Ich könnte mich irren, aber ich glaube, was passiert ist, dass die Zusammenfassungs-E-Mails in die Warteschlange gestellt wurden und jetzt ausgeliefert werden. Das wird so lange weitergehen, bis sie alle zugestellt sind.
Wenn ich recht habe, kannst du E-Mails deaktivieren, dann die Tabelle finden, die sie enthält, und sie löschen. Aber das wird beim nächsten Mal, wenn Zusammenfassungs-E-Mails versendet werden, einfach wieder passieren.
Ja, aber das passiert bereits seit 3 Tagen. Alle anderen E-Mails (z. B. Registrierungs-E-Mails) werden nicht mehr zugestellt. Die Community funktioniert, aber alles, was mit E-Mail-Versand zu tun hat, nicht.
Ich habe ein sehr ähnliches Problem gefunden – Extreme memory usage due to bad mail credentials. Es sieht also so aus, als wäre dies eine Art tückischer Fehler.
Der einzige Weg, den ich gefunden habe, um dies zu stoppen, war, dass ich den Authentifizierungstoken bei meinem SMTP-Anbieter entfernt habe. Discourse hat daraufhin Hunderte von Fehlern angezeigt, und erst danach ist die Last gesunken. Ich habe den Token wiederhergestellt, und jetzt scheint alles in Ordnung zu sein.
@codinghorror Ich habe die Ursache des Problems gefunden. Unser E-Mail-Anbieter hat (aus eigenen, dummen Gründen) die verifizierten Host-Einträge für unser Konto entfernt. Diese Host-Einträge wurden verwendet, um das from-Feld in der E-Mail mit unserem Host zu versehen. Nachdem sie das getan haben, geriet Discourse in eine Endlosschleife. Ich denke, der Discourse-Flow hat in diesem Fall ebenfalls einen Fehler, denn er sollte den Fehler melden und die Auslastung eines Kerns auf 100 % stoppen.
Das Konto ist also korrekt. Der E-Mail-Anbieter gibt jedoch beim Versenden der E-Mail einen Fehler zurück, z. B. „Falscher Absenderhost