2017-11-04 12 views
1

IoTアプリケーションでは、ラスベリーパイのフラスコを使用しています。フラスコの再起動/シャットダウンのコールバック

私の問題は、アプリケーションをシャットダウンする前に、またはFlaskオートリロードによって再起動する前に、外部デバイスとの接続をきれいに閉じる必要があるということです。

クリーンシャットダウンに使用できるコールバック/ハンドラ/イベント/などはありますか? (自動リロード機能もあります)

+0

あなたはすでに 'app'の' teardown_appcontext'メソッドを知っていますか?私は、再起動に相当するものがないかどうかはわかりません。プランBは、デバッグモードをオフにして、ファイルの変更時に自動再読み込みを行わないようにすることができます。 – PRMoureu

+0

私はすでにteardown_appcontextアプローチを試しましたが、残念ながら実際のアプリケーションが閉じられたときではなくHTTP接続が閉じられるたびに呼び出されます。名前appcontextは少し誤解を招く。 私もatexitを試しましたが、これは終了時にのみ起動され、再起動時には起動されません。 – Stephan

+1

補足として、本番環境ではdevサーバーを使用しないでください。 Gunicornなどの実動WSGIサーバーを使用します。 – davidism

答えて

2

アプリケーションのシャットダウンは、WSGIサーバー標準の一部ではありません。サーバーがいつアプリケーションコード内から完全に停止するかを知る一般的な方法はありません。

関連する問題