私はPythonでWeb開発を始めました。私はWebアプリケーションを起動するためにFlaskを選択しました。アプリケーションをシャットダウンする前に解放するリソースがありますが、クリーンアップコードをどこに置くかわかりませんでした。 Flaskは、リクエスト処理の前後にコールバックを登録するために、before_request
とteardown_request
のようなデコレータを提供しています。アプリケーションが停止する前に呼び出されるコールバックを登録するのに類似したものはありますか?おかげさまで Flaskアプリケーションでクリーンアップコードをどこに置くのですか?
8
A
答えて
3
atexit
モジュールでは、プログラム終了コールバックを登録できます。アプリケーションがシグナルで終了しても、そのコールバックは呼び出されません。これらのケースを処理する必要がある場合は、signal
モジュールで同じコールバックを登録できます(たとえば、SIGTERMシグナルを処理したい場合など)。
あなたはきれいにしたいものが間違っているかもしれませんが、ファイルハンドルやデータベース接続などのリソースは、通訳者のシャットダウン時に閉じてしまうので、心配する必要はありません。
関連する問題
- 1. CakePHPアプリケーションでCASセッションチェックコードをどこに置くべきですか?
- 2. iPhoneアプリケーションにSQLiteデータベースファイルを置くのはどこですか?
- 3. Webアプリケーション(mavenプロジェクト)でjava.util.loggingのlogging.propertiesファイルをどこに置くべきですか?
- 4. GrailsアプリケーションでGroovyクラスのテストケースをどこに置くべきですか?
- 5. railsアプリケーションに非可視ファイルリソースを置く従来のディレクトリはどこですか?
- 6. NSDocumentサブクラスのクリーンアップコードはどこにありますか?
- 7. アプリケーションの状態をどこに置くか?
- 8. Eclipse WTPでcontext.xmlをどこに置くのですか?
- 9. カスタムビルドアクションではどこにexeを置くのですか?
- 10. CSSファイルをどこにrails appディレクトリに置くのですか?
- 11. FlaskとFlask-loginで「次の」URLをどのように通すのですか?
- 12. どこに私の青写真before_requestを置くのですか
- 13. Androidのフォルダーにシェイプドローラーを置くのはどこですか?
- 14. どこにバックエンドのサービスプロキシを置くのですか?
- 15. カスタムレベルのフォルダはどこにXNAゲームを置くのですか?
- 16. JythonでFlaskアプリケーションを実行
- 17. WARファイルをPivotal TCサーバーに置くのはどこですか?
- 18. iPhone App:どこに設定ファイルを置くのですか?
- 19. Yiiどこにカスタムグローバル機能を置くのですか?
- 20. どこに正規関数を置くのですか?Angularjs
- 21. ソケットIO V0.7:Flashsocket SWFファイルをどこに置くのですか?
- 22. どこに「ヘルパー」メソッドを置くのですか?
- 23. サーブレットjarファイルはTomcat 6にどこに置くのですか?
- 24. 私のICommandのロジックはどこに置くのですか?
- 25. Zendフレームワークでは、カスタムバリデータはどこに置くべきですか?
- 26. 非公開のクラスはどこに置くのですか?
- 27. コントローラ専用のヘルパーメソッドはどこに置くのですか?
- 28. Ruby以外のファイルはどこに置くのですか?
- 29. Google Geocoding APIのAPIキーはどこに置くのですか?
- 30. ATL COMオブジェクトのデストラクタコードはどこに置くのですか?
どのようなリソースがありますか? –
私は、アプリケーションが停止したときにFlaskが提供する機能を知らない。あなたがきれいにしたいものを知ることは面白いでしょう。 Pythonには 'atexit'モジュールがあります。これはあなたが探しているものかもしれません。 –
私はneo4jデータベースを使用しており、接続プールを維持しています。私はatexitが仕事をすると思います。私のクリーンアップコードを入れるのがより適切な場所ですか? –