如何在flask中运行一个脚本而又不使前端无响应?
我在flask中运行了一个shell脚本,现在的问题是这个shell脚本耗时非常长,运行期间会导致前端web无响应,必须等到脚本执行完。请问有什么办法可以解决?我试过了用ajax,没用,因为调用ajax的url去执行脚本时仍然会导致页面卡住。我也试过开多线程app.run(thread=true),这样虽然可以解决,但是需要新开一个网页,我想问下是否有更好的办法....另外这个脚本只是单纯的在后台运行即可,相关回显不需要渲染到前端。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
任何软件工程遇到的问题都可以通过增加一个中间层来解决
你可以通过 @xdd1874 所说的方法,你可以使用 nohup,反正是只要能启动了你的 shell 的工具都行。
可以把 shell 脚本的执行交给 celery 去处理。
http://flask.pocoo.org/docs/1...
flask view里面调用subprocess.Popen去执行脚本,subprocess会生成一个子进程去执行脚本,可以立即返回