mod_wsgi
モジュールのいずれかが変更されたときに Flask アプリを自動的にリロードする方法を知っている人はいますか? 試してみましWSGIScriptReloading On
たが、うまくいきません。公式ドキュメントは一種のくまです...誰も知らないなら、私はそれを突き刺すと思います。前もって感謝します!
また、構文エラー (Flask リローダーなど) で永続的にクラッシュすることができなければ、それはすばらしいことです。
mod_wsgi
を使用すると、コードではなく構成ファイルWSGIScriptReloading
の変更が検索されます。.wsgi
私のワークフローは、コードの変更をアップロードしてから、
$ touch MyWebApp.wsgi
これにより、最後に変更されたファイルのタイムスタンプが変更さmod_wsgi
れ、コードがリロードされます。
.wsgi
ファイルをローカルマシンに保存してから再度アップロードすることで、これを「リモート」で行うことができます。または、SSH経由で行うだけです。
構文エラーについてできることは多くありません。コードが実行されているかどうかに関係なく、修正と atouch
によって再び実行されます。
FTP 経由で作業している場合に気をつけなければならない点が 1 つあります。'touched'.wsgi
ファイルを最後にアップロードするようにしてください。そうしないと、間違ったコードで開始しようとします。
WSGIScriptReloading ディレクティブを追加することについては正しいです。Flask のドキュメントでは 100% 明確ではありませんが、Apache は .wsgi ファイルへの変更を探します。推奨される解決策は、リリース プロセスの一環として、.wsgi ファイルに対して touch コマンドを実行することです。
本番環境では apache mod_wsgi も好みますが、開発環境ではフラスコの組み込みサーバーを使用します。prod 構成ファイルと dev 構成ファイルを分離し、開発構成にdebug
ディレクティブを設定True
して、Flask がコードの変更を自動的に検出して再読み込みできるようにします。
「公式ドキュメントはクマのようなものだ」とはどういう意味ですか? 含まれているレシピの問題点:
このドキュメントでは、WSGIScriptReloading が期待どおりに動作しない理由についても説明しています。
いいえ、構文エラーで永続的にクラッシュすることはできません。これは Apache に組み込まれており、Apache の全体的なポイントは、実行し続けることです。
Apache/mod_wsgi を開発に使用すべきではないようです。本番環境ではソースコードの自動リロードを使用すべきではないことは誰もが知っているので、それを行いたいとは思わないでしょう。