为了账号安全,请及时绑定邮箱和手机立即绑定

flask的自带web服务器怎么开很多进程或者线程?

flask的自带web服务器怎么开很多进程或者线程?

翻阅古今 2019-01-04 22:20:30
目前在做一个多机管理程序。用flask做的web服务器,针对管理请求执行任务然后得到结果返回给前端页面(可以等)。为了处理方便,没有使用nginx等web服务器。为了处理方便,同一管理命令,针对每一个主机都从前端发一条命令到后端处理。(涉及到处理结果的显示问题,不想用其他模式)后端处理就是是ssh登录到其他主机执行命令(时间很长,但是不消耗flask所在主机资源)我现在要对大约50台机器发命令,现在每次发命令,flask都只开6个进程或者线程来处理6个请求,等几十分钟后再处理后面的请求。无论使用的是默认的多线程模式,还是改为多进程模式,指定进程数为32、64或者更大,都只有6个进程在处理6个请求,处理完成之后才会处理后面的请求(要等很久)。我希望前端发50个请求给后端后,后端能够开50个进程或者线程去处理。这样就不需要等这么久了,可不知道怎么处理。追踪到flask内部进程数设置值processors被赋值给一个对象的max_children属性就没下文了,该属性没在代码中发现被使用。
查看完整描述

1 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

找到源头了,不是flask的问题。处理连接时flask用的werkzeug,werkzeug用得socketserver。
socketserver默认同时最多处理5个请求,但werkzeug已经把值改为128了。
之所以每次只处理6个请求,是因为chrome浏览器限制每次最多6个请求,同时发许多请求只能发出6个,后面的都会等待。
等待发生在浏览器端而不是服务端。

查看完整回答
反对 回复 2019-01-04
  • 1 回答
  • 0 关注
  • 2290 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信