Python:文件更改时自动重启WSGIServer+Bottle应用

5 投票
3 回答
7192 浏览
提问于 2025-04-18 13:01

我正在使用Bottle和Gevent来搭建一个HTTP和WebSockets服务器。如果我用Node.js来做这个,我会用Nodemon或者类似的工具,在开发时代码有变化时自动重启服务器。如果我只是用Bottle和它的run方法,我想我可以用run(reloader=True)来实现自动重启。不过,我现在是用WSGIServer来运行这个应用。那么,我该如何实现我想要的自动重启功能呢?

http_server = WSGIServer(('127.0.0.1', 8080), app, handler_class=WebSocketHandler)

3 个回答

0

在你的 app.py 或者其他 Python 文件中,添加以下几行代码:

app = Flask(__name__)
app.config['DEBUG'] = True
3

你不需要额外的模块。如果你把debug设置为True,每次代码修改后,它会自动重新加载。具体怎么设置,取决于你是如何搭建你的应用的,比如可以通过应用工厂来实现:

def create_app(config, debug=True):
   ....

或者通过命令行来实现:

app.run(debug=True)

或者

$ export FLASK_DEBUG=1
$ flask run
3

pypi上搜索之后,我觉得server-reloader可以满足你的需求。

撰写回答