私はウェイトレスを使用して、Web アプリケーションのコンテンツを提供しています。
waitress-serve --port=8000 myapp:application
開発中にコードを変更すると、ウェイトレス サーブを再起動して変更を確認する必要がありました。これを自動化できる標準的な方法はありますか?
私はウェイトレスを使用して、Web アプリケーションのコンテンツを提供しています。
waitress-serve --port=8000 myapp:application
開発中にコードを変更すると、ウェイトレス サーブを再起動して変更を確認する必要がありました。これを自動化できる標準的な方法はありますか?
これは古い質問ですが、Falcon フレームワークを使用して REST API のホット リロード機能を有効にしようとして、同様の問題が発生しました。
ウェイトレスはファイルの変更を監視しませんが、hupper
その上で使用できます。ものすごく単純:
$ pip install hupper
$ hupper -m waitress --port=8000 myapp:application
Windowsでも動作します。
@Dirk のコメントに基づいて、言及されたスニペットへの archive.org リンクを見つけました。Werkseug を直接使用して、Waitres をリロードすることができました。Werkzeug のデコレータを使用run_with_reloader
すると、Python ファイルが変更されるたびにアプリが再起動します。(Werkzeug は Flask 内で使用されるため、使用できるはずです)。
さらに、このapp.debug = True
行により、Flask はテンプレート ファイルが変更されたときにファイルをリロードします。したがって、特定の状況を考慮すると、両方が必要になる場合があります。
import werkzeug.serving
@werkzeug.serving.run_with_reloader
def run_server():
app.debug = True
waitress.serve(app, listen='127.0.0.1:4432')
if __name__ == '__main__':
run_server()
このようにサーバーをセットアップすると、ファイルが変更されるたびにサーバーが自動リロードされました。