Flask 多线程问题

andyhuu88 2018-07-17 10:38:21
初学python、flask。被一多线程问题困扰多时。
gevent
。。。
http_server = WSGIServer(('', 5000), app)
http_server.serve_forever()
启动,

@app.route('/')
def test1():
time.sleep(20)
return '<h1> Hello World1111!</h1>'


@app.route('/')
def test2():
return '<h1> Hello World222!</h1>'

=================================================

先后访问test1,test2发现确实是异步的、未阻塞。

但,问题是先后访问两次test1就阻塞了(time.sleep(20)),这是什么情况?
...全文
582 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
CADRL 2020-01-30
  • 打赏
  • 举报
回复
请问楼主后来解决了嘛,我现在在用Flask也碰到这个问题了,连续两次请求test1()函数就会被阻塞,求助!
李庆海 2018-07-17
  • 打赏
  • 举报
回复
引用 2 楼 andyhuu88 的回复:
[quote=引用 1 楼 Liqinghai058 的回复:]
你好,sleep时间过长,在路由中添加methods方法试下

=================================================

感谢回答。

把sleep换成其他较费时的业务,效果也是一样,阻塞了。

这个 gevent 真是不了解![/quote]

-----------------------------------------------------------------------------
gevent用的比较少,参考https://www.jianshu.com/p/c6053a4c3dd5,理解下
andyhuu88 2018-07-17
  • 打赏
  • 举报
回复
引用 1 楼 Liqinghai058 的回复:
你好,sleep时间过长,在路由中添加methods方法试下

=================================================

感谢回答。

把sleep换成其他较费时的业务,效果也是一样,阻塞了。

这个 gevent 真是不了解!
李庆海 2018-07-17
  • 打赏
  • 举报
回复
你好,sleep时间过长,在路由中添加methods方法试下

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧