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 来重新加载 Waitress。使用 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 回答