8

私はウェイトレスを使用して、Web アプリケーションのコンテンツを提供しています。

waitress-serve --port=8000 myapp:application

開発中にコードを変更すると、ウェイトレス サーブを再起動して変更を確認する必要がありました。これを自動化できる標準的な方法はありますか?

4

2 に答える 2

6

これは古い質問ですが、Falcon フレームワークを使用して REST API のホット リロード機能を有効にしようとして、同様の問題が発生しました。

ウェイトレスはファイルの変更を監視しませんが、hupperその上で使用できます。ものすごく単純:

$ pip install hupper
$ hupper -m waitress --port=8000 myapp:application

Windowsでも動作します。

于 2020-01-14T03:47:29.500 に答える
3

@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()

このようにサーバーをセットアップすると、ファイルが変更されるたびにサーバーが自動リロードされました。

于 2020-05-20T18:42:12.723 に答える