In meinem Hauptjob arbeite ich an einer Django-App mit Celery für die Warteschlangenverwaltung, die Redis als Backend verwendet. Bei jedem Deploy verschwinden die Jobs und sind weg. Und wir müssen das Update/Deployment zwischen die langlaufenden Jobs des Kunden einfügen.
Ich ersetze das alles durch eine datenbankbasierte Warteschlange mit einer formalen Zustandsmaschine und verwende Celery nur für die Phase „Führe die Aufgabe jetzt aus“. Das gibt mir einen persistenten Zustand, die Möglichkeit, Jobs direkt auszuführen, d. h. Celery nicht als Warteschlange zu verwenden, und der Zustand ist nicht flüchtig in Redis.
Danke Cameron, ich werde mich auf dieses Problem konzentrieren, da wir jetzt wieder die Protokollierung aktiviert haben. Bisher ist nichts offensichtlich, es gibt keine Fehler oder fehlgeschlagenen Hintergrundaufträge, die ich sehen kann, und aus der Code-Logik kann ich nichts erkennen, was diese E-Mails absichtlich überspringen würde. Für dieses Thema wurde niemand wegen der OP eine E-Mail gesendet, was faszinierend ist, es ist, als ob der Auftrag nie einmal in die Warteschlange gestellt worden wäre. Ich werde weiter suchen und Sie informieren.
@cameron-simpson Wir haben dies weiter untersucht, und das Problem liegt tatsächlich bei unserem Überprüfungswarteschlangensystem. Zum Beispiel wurde der Beitrag unter Mental block, simple question - Python Help - Discussions on Python.org von Akismet als „Spam“ erkannt, was dazu führte, dass der Beitrag von einem Administrator genehmigt werden musste. Wenn der Administrator den Beitrag genehmigt, werden die E-Mails im Mailinglistenmodus nicht in die Warteschlange gestellt. Wenn wir diesen Fehler beheben, sollte das Problem behoben sein. Ich sollte in den nächsten Wochen dazu kommen.
Ich habe diesen Fix heute zusammengeführt @cameron-simpson , ich werde Python auch heute bereitstellen, dann, wenn Sie mich über weitere Vorkommnisse informieren könnten, wäre das großartig Ich denke jedoch, dass dies das Problem beheben sollte: