12

mod_wsgiモジュールのいずれかが変更されたときに Flask アプリを自動的にリロードする方法を知っている人はいますか? 試してみましWSGIScriptReloading Onたが、うまくいきません。公式ドキュメントは一種のくまです...誰も知らないなら、私はそれを突き刺すと思います。前もって感謝します!

また、構文エラー (Flask リローダーなど) で永続的にクラッシュすることができなければ、それはすばらしいことです。

4

6 に答える 6

19

mod_wsgiを使用すると、コードではなく構成ファイルWSGIScriptReloadingの変更が検索されます。.wsgi

私のワークフローは、コードの変更をアップロードしてから、

$ touch MyWebApp.wsgi

これにより、最後に変更されたファイルのタイムスタンプが変更さmod_wsgi れ、コードがリロードされます。

.wsgiファイルをローカルマシンに保存してから再度アップロードすることで、これを「リモート」で行うことができます。または、SSH経由で行うだけです。

構文エラーについてできることは多くありません。コードが実行されているかどうかに関係なく、修正と atouchによって再び実行されます。

FTP 経由で作業している場合に気をつけなければならない点が 1 つあります。'touched'.wsgiファイルを最後にアップロードするようにしてください。そうしないと、間違ったコードで開始しようとします。

于 2012-11-28T13:09:02.277 に答える
1

WSGIScriptReloading ディレクティブを追加することについては正しいです。Flask のドキュメントでは 100% 明確ではありませんが、Apache は .wsgi ファイルへの変更を探します。推奨される解決策は、リリース プロセスの一環として、.wsgi ファイルに対して touch コマンドを実行することです。

于 2014-07-19T13:20:57.270 に答える
0

本番環境では apache mod_wsgi も好みますが、開発環境ではフラスコの組み込みサーバーを使用します。prod 構成ファイルと dev 構成ファイルを分離し、開発構成にdebugディレクティブを設定Trueして、Flask がコードの変更を自動的に検出して再読み込みできるようにします。

于 2015-04-17T09:41:49.127 に答える
-2

「公式ドキュメントはクマのようなものだ」とはどういう意味ですか? 含まれているレシピの問題点:

このドキュメントでは、WSGIScriptReloading が期待どおりに動作しない理由についても説明しています。

いいえ、構文エラーで永続的にクラッシュすることはできません。これは Apache に組み込まれており、Apache の全体的なポイントは、実行し続けることです。

Apache/mod_wsgi を開発に使用すべきではないようです。本番環境ではソースコードの自動リロードを使用すべきではないことは誰もが知っているので、それを行いたいとは思わないでしょう。

于 2012-11-23T09:30:13.400 に答える