2 Stimmen

App-Engine-Aufgabe wird bei Fehler nicht wiederholt

Wenn in meiner lokalen Entwicklungsumgebung eine App-Engine-Aufgabe, die der Aufgabenwarteschlange hinzugefügt wurde, auf einen Fehler stößt, wird sie erneut versucht, bis sie erfolgreich ist. Jedoch in der Produktionsumgebung, es ist nicht. Was ich denke, ist passiert, dass, weil ich eine benutzerdefinierte 500 Handler in urls.py haben, alle Fehler durch diese gefangen werden und die 500 Fehler nie Blasen an die Spitze.

Könnte dies tatsächlich der Grund dafür sein, dass meine Aufgaben nicht erneut versucht werden? Und wenn ja, gibt es eine Möglichkeit, dies zu verhindern? Ich möchte nur Fehler, die von der handler500 Ansicht gefangen werden, wenn die Anforderung vom Benutzer generiert wird, nicht eine Backend-Aufgabe (für diese, ich möchte den Fehler zu Blase und erzwingen eine Wiederholung).

5voto

Nick Johnson Punkte 99799

Die Aufgabe wird von der Aufgabenwarteschlange erneut versucht, wenn sie einen Statuscode ungleich 200 zurückgibt. Wenn Ihr "benutzerdefinierter 500-Handler" einen 200-Statuscode zurückgibt, kann die Task-Warteschlange nicht wissen, dass die Aufgabe fehlgeschlagen ist, und versucht es daher nicht erneut. Sie müssen Ihren Handler so ändern, dass er den entsprechenden Statuscode zurückgibt - was er in jedem Fall tun sollte, auch für Benutzerseiten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X