如何解决通过按钮重新启动 Flask 应用程序
有没有办法允许用户点击一个按钮(在 HTML 端)来触发一些重新启动整个 Flask 应用程序的事件?我正在寻找相当于终止程序然后再次键入“Flask run”的方法。这似乎是一个简单的问题,我已经搜索了很多,但我发现的唯一问题与重新加载/刷新有关,这并不是我真正想要的。
HTML 可能类似于:
<form action="/restart_function" method="post">
<input type="submit" value="Restart App">
</form>
Python 可能类似于:
@app.route('/restart_function',methods=['GET','POST'])
def restart():
.....
return redirect('/')
解决方法
在python中,您可以通过以下方式执行命令:
带有子流程:
import subprocess
list_files = subprocess.run(["ls","-l"])
使用os.system:
import os
home_dir = os.system("cd ~")
print("`cd ~` ran with exit code %d" % home_dir)
因此,如果您想重新启动应用程序,请在处理请求的函数内运行命令以重新启动应用程序。
为防止 http 调用返回错误,请通过生成执行命令的单独进程来处理调用,以便能够在重新启动应用程序时完成请求。显然,如果其他http调用同时到达,这些调用将不会成功,因为应用程序将重新启动。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。