Ich bin neu in der Webentwicklung in Python und ich habe Flask gewählt, um meine Webanwendung zu starten. Ich habe einige Ressourcen, die ich vor dem Herunterfahren der Anwendung freigeben muss, aber ich konnte nicht herausfinden, wo ich meinen Bereinigungscode ablegen soll.
Flask bietet einige Dekoratoren wie before_request
und teardown_request
an, um Callbacks vor und nach der Anfrageverarbeitung zu registrieren. Gibt es etwas Ähnliches, um einen Rückruf zu registrieren, der aufgerufen wird, bevor die Anwendung beendet wird?
Danke.
Mit dem Modul atexit
können Sie Callbacks für Programmabbrüche registrieren. Seine Rückrufe werden jedoch nicht aufgerufen, wenn die Anwendung durch ein Signal beendet wird. Wenn Sie diese Fälle behandeln müssen, können Sie dieselben Callbacks mit dem Modul signal
registrieren (z. B. wenn Sie das Signal SIGTERM verarbeiten möchten).
Ich habe vielleicht falsch verstanden, was genau Sie aufräumen wollen, aber Ressourcen wie Dateihandles oder Datenbankverbindungen werden sowieso beim Herunterfahren des Interpreters geschlossen, also sollten Sie sich keine Gedanken darüber machen müssen.