如何在flask中运行一个脚本而又不使前端无响应?

发布于 2022-09-07 16:51:34 字数 225 浏览 13 评论 0

我在flask中运行了一个shell脚本,现在的问题是这个shell脚本耗时非常长,运行期间会导致前端web无响应,必须等到脚本执行完。请问有什么办法可以解决?我试过了用ajax,没用,因为调用ajax的url去执行脚本时仍然会导致页面卡住。我也试过开多线程app.run(thread=true),这样虽然可以解决,但是需要新开一个网页,我想问下是否有更好的办法....另外这个脚本只是单纯的在后台运行即可,相关回显不需要渲染到前端。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

帅冕 2022-09-14 16:51:34

任何软件工程遇到的问题都可以通过增加一个中间层来解决

你可以通过 @xdd1874 所说的方法,你可以使用 nohup,反正是只要能启动了你的 shell 的工具都行。

失而复得 2022-09-14 16:51:34

可以把 shell 脚本的执行交给 celery 去处理。

http://flask.pocoo.org/docs/1...

稚气少女 2022-09-14 16:51:34

flask view里面调用subprocess.Popen去执行脚本,subprocess会生成一个子进程去执行脚本,可以立即返回

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文