后端 flask,前端 layui,如果某个任务后台要运行较长时间,前端一直在那等着,有没有优化的方法

2019-05-17 17:44:59 +08:00
 U87

想到了用异步,但是好像不行,在 flask 视图函数中用 asyncio 模块,没有效果

3569 次点击
所在节点    问与答
12 条回复
qyhx
2019-05-17 17:54:36 +08:00
说明业务设计错了
robinlovemaggie
2019-05-17 18:12:33 +08:00
后端挂队列任务,前端挂长轮询。
4578004
2019-05-17 18:26:08 +08:00
说明业务设计错了
youngce
2019-05-17 18:39:10 +08:00
搞 python 的 web,celery 还是需要熟悉一下的,应该可以解决你的问题
jasonqiao36
2019-05-17 18:49:58 +08:00
celery+flask-socketio
lusi1990
2019-05-17 19:10:46 +08:00
用队列,不要用多线程
iamsk
2019-05-17 19:11:19 +08:00
这个场景我们有用这个处理 https://pusher.com
ipwx
2019-05-17 19:18:51 +08:00
Flask 是独占主线程的,而你在 Flask 主线程里面起 asyncio,确实没啥用。。。
U87
2019-05-20 11:45:14 +08:00
@ipwx 谢谢,不应该用 asyncio 而应该用 celery
U87
2019-05-20 11:45:27 +08:00
@jasonqiao36 谢谢 get it
U87
2019-05-20 11:45:49 +08:00
@robinlovemaggie OK,明白了,加 celery 就好了
U87
2019-05-20 11:46:32 +08:00
嗯呢,celery 就完事了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/565147

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX