私はPythonでWeb開発を始めました。私はWebアプリケーションを起動するためにFlaskを選択しました。アプリケーションをシャットダウンする前に解放するリソースがありますが、クリーンアップコードをどこに置くかわかりませんでした。 Flaskは、リクエスト処理の前後にコールバックを登録するために、before_request
とteardown_request
のようなデコレータを提供しています。アプリケーションが停止する前に呼び出されるコールバックを登録するのに類似したものはありますか?おかげさまで Flaskアプリケーションでクリーンアップコードをどこに置くのですか?
8
A
答えて
3
atexit
モジュールでは、プログラム終了コールバックを登録できます。アプリケーションがシグナルで終了しても、そのコールバックは呼び出されません。これらのケースを処理する必要がある場合は、signal
モジュールで同じコールバックを登録できます(たとえば、SIGTERMシグナルを処理したい場合など)。
あなたはきれいにしたいものが間違っているかもしれませんが、ファイルハンドルやデータベース接続などのリソースは、通訳者のシャットダウン時に閉じてしまうので、心配する必要はありません。
関連する問題
- 1. WPFページのどこにクリーンアップコードを配置しますか?
- 2. Railsアプリケーションで「require /.alchemyapi」をどこに置くのですか?
- 3. CakePHPアプリケーションでCASセッションチェックコードをどこに置くべきですか?
- 4. iPhoneアプリケーションにSQLiteデータベースファイルを置くのはどこですか?
- 5. Visual Studio Webアプリケーションではどこに.lessファイルを置くのですか?
- 6. Webアプリケーション(mavenプロジェクト)でjava.util.loggingのlogging.propertiesファイルをどこに置くべきですか?
- 7. GrailsアプリケーションでGroovyクラスのテストケースをどこに置くべきですか?
- 8. NSDocumentサブクラスのクリーンアップコードはどこにありますか?
- 9. 私はReact.JSアプリケーションに静的ファイルをどこに置くのですか?
- 10. railsアプリケーションに非可視ファイルリソースを置く従来のディレクトリはどこですか?
- 11. アプリケーションの状態をどこに置くか?
- 12. Flask with GAEを使用しているローカルの開発者はどこにwerkzeugを置くべきですか?
- 13. どこでC++にフリー関数を置くのですか?
- 14. カスタムビルドアクションではどこにexeを置くのですか?
- 15. Eclipse WTPでcontext.xmlをどこに置くのですか?
- 16. Androidでどこにグローバルメソッドを置くのですか?
- 17. どこにcpanelのバックアップファイルをwwwフォルダに置くのですか?
- 18. どこにnotifyDataSetChanged()を置くことができますか?
- 19. CSSファイルをどこにrails appディレクトリに置くのですか?
- 20. 正確にどこにソースコードヘッダーを置くのですか?
- 21. どこにcss、jsファイルをSpringに置くのですか?
- 22. Flaskアプリケーションでのルーティング
- 23. ReactとReduxでデータモデルをどこに置くべきですか?
- 24. フラックススタンダードアクションでリクエストステータスをどこに置くべきですか?
- 25. JarファイルはどこでLuceeに置くのですか?
- 26. 初心者:どこにcronjobのスクリプトを置くのですか?
- 27. カスタムレベルのフォルダはどこにXNAゲームを置くのですか?
- 28. どこに私の青写真before_requestを置くのですか
- 29. どこにバックエンドのサービスプロキシを置くのですか?
- 30. Androidのフォルダーにシェイプドローラーを置くのはどこですか?
どのようなリソースがありますか? –
私は、アプリケーションが停止したときにFlaskが提供する機能を知らない。あなたがきれいにしたいものを知ることは面白いでしょう。 Pythonには 'atexit'モジュールがあります。これはあなたが探しているものかもしれません。 –
私はneo4jデータベースを使用しており、接続プールを維持しています。私はatexitが仕事をすると思います。私のクリーンアップコードを入れるのがより適切な場所ですか? –