Wo kann ich Cleanup-Code in eine Flask-Anwendung einfügen?

8

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.

    
Leo Lobeto 29.05.2012, 07:51
quelle

1 Antwort

3

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.

    
jd. 29.05.2012, 11:22
quelle

Tags und Links