亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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 關注
  • 2307 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號