3

Python 3 および Linux サーバーで Tornado を使用しています。テキストまたは XML ファイルを編集して保存するときに、Tornado を再起動させたいと考えています。ドキュメントを確認したところ、autoreload モジュールと watch 関数が見つかりまし

pyo ファイルでのみ機能したようです。特定の URI が変更されたときに再読み込みしたい場合はどうすればよいですか?

4

3 に答える 3

5

設定でデバッグ フラグを True に設定すると、ファイルが変更されるたびに、または app.py で URI が変更されるたびに (またはハンドラーを定義した場所で)、Tornado が強制的にリロードされます。また、Tornado はテンプレート ファイルを自動的にリロードするため、そこにある変更はすぐに表示されます。

    settings = {
                'debug':True,
               # other stuff
    }
    tornado.web.Application.__init__(self, handlers, **settings)
于 2013-07-26T13:36:04.123 に答える
4

追加するファイルは絶対パスでなければなりません。

def addwatchfiles(*paths):
    for p in paths:
        autoreload.watch(os.path.abspath(p))
addwatchfiles('config.xml')

config.xml は、サーバーの python ファイルが開始するディレクトリと同じディレクトリにあります。

于 2013-08-26T13:44:42.997 に答える
1

オンにする必要がありますautoreload

tornado.autoreload.start()
tornado.autoreload.watch('myfile')

https://gist.github.com/renaud/10356841の完全な例

于 2014-04-10T08:37:19.440 に答える