Ich bin nicht der Systemadministrator der AWS EC2-Instanz, auf der unsere Discourse-Instanz läuft, aber ich bin der Administrator der Discourse-Instanz selbst. Vor 3 Wochen wurde unser AWS SES-E-Mail-Dienst aus Sicherheitsgründen abgeschaltet. Unsere Cloud-Mitarbeiter beheben das jetzt erst. Daher konnte unsere Website 3 Wochen lang keine E-Mails senden, und ich sehe mehr als 40.000 fehlgeschlagene Aufträge und ebenso viele Wiederholungsversuche. Ich bin kein Webentwickler, daher verstehe ich nicht, was die Sidekiq-Seite anzeigt, aber ich befürchte, dass die fehlgeschlagenen Aufträge erneut versucht werden, sobald unser E-Mail-Server wieder online ist, und die Leute mit veralteten E-Mails überflutet werden, die sie 3 Wochen lang nicht erhalten haben. Wird das der Fall sein? Sendet Discourse E-Mails erneut, die aufgrund eines offline befindlichen E-Mail-Servers nicht gesendet werden konnten? Wenn ja, wie kann ich das deaktivieren, um die Leute nicht mit E-Mails von unserer Website zu überfluten? Können wir die Granularität anpassen? Sagen wir, nur E-Mails senden, die neue Aktivitäten seit einem bestimmten Datum anzeigen?
Ihre Angst ist berechtigt.
Ich bin mir nicht sicher, wie viel Zeit Sie haben, um dies zu beheben? Eine Lösung könnte darin bestehen, einen Mailserver einzurichten und zu konfigurieren, der E-Mails akzeptiert, sie aber einfach verwirft.
Der wirklich schnelle und (sehr) schmutzige Weg, dies zu lösen, ist die Verwendung von redis-cli und die Ausgabe eines flushdb-Befehls. Dadurch werden alle anstehenden Jobs gelöscht. Außerdem werden alle Benutzer abgemeldet. Starten Sie dann Ihren Discourse neu, um sicherzustellen, dass alle regulären Jobs wieder ausgeführt werden.
Alle Benutzer abzumelden ist sicherlich nicht wünschenswert… Der E-Mail-Server sollte heute repariert werden, aber ich bin mir nicht sicher, ob unsere Systemadministratoren die Flexibilität haben werden, den E-Mail-Server so einzurichten, dass alles gelöscht wird.
Ich sehe unten auf der Seite „Retries“ von Sidekiq eine Schaltfläche „kill all“ und „delete all“ (siehe Anhang). Kann das helfen?
Alle Aufträge eines bestimmten Typs aus der Warteschlange zu löschen, sollte das Problem beheben.
(Ich müsste zurückgehen und versuchen, herauszufinden, wie das geht…)
Ich glaube, Sie sind sich sicher. Sie haben drei Wochen gebraucht, um es überhaupt zu reparieren.
Sie könnten fragen, ob sie googeln können, wie man Jobs aus Sidekiq löscht und die Mail-Jobs entfernt. Ich denke, das ist Ihre beste Chance.
Ich vermute, Sie haben keinen Zugriff, um es selbst zu tun oder jemanden zu beauftragen, der Ihnen hilft. Können Sie sich per SSH auf die EC2 einloggen, auf der es läuft? Sie könnten versuchen, alle 50.000 über die Weboberfläche zu löschen.
Die Sidekick-Seite mit den Optionen zum Löschen/Entfernen funktionierte. Kein EC2-Systemadministrator wurde benötigt, es reichte aus, Forenadministrator zu sein, um von der Sidekick-Seite aus zu agieren, ich konnte alle anstehenden E-Mails löschen.
Nachdem der E-Mail-Server wieder online war, wurden keine “anstehenden” E-Mails erneut gesendet.



