作者michael3941 (丞丞)
看板Python
標題[問題]flask搭配uwsgi使用問題
時間Thu Mar 21 23:45:39 2019
各位大大好,小弟在使用uwsgi啟動flask時遇到了一些問題
想請教各位大大,看是否有人也遇過這問題
我用flask寫了一隻API,裡面會讀進機器學習的模型,存在記憶體中,
如果直接用flask自己啟動的話,呼叫這隻API會得到回應,
但如果今天我用uwsgi啟動flask話,呼叫服務的時候,
運算到某個地方就會他就會卡住了,也不是錯誤,
用uwsgitop去看worker的狀況時,status會一直顯示busy,
但仍然沒辦法得到回應,不知道是不是因為worker有被限制memory的關係,
我有在uwsgi的設定檔裡面設定limit-as跟reload-on-rss,
已經調到跟機器本身的記憶體一樣大了還是會有這個問題,
但如果用flask自己起就沒事,
我uwsgi裡設定workers數量最少4個,會看情況增加最多到10個,
並且master設定為True
想請各位大大幫忙解惑
這已經困擾我很久了
麻煩各位大大了,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.158.35.172
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1553183142.A.27E.html
※ 編輯: michael3941 (114.136.235.2), 03/21/2019 23:52:36
※ 編輯: michael3941 (114.136.235.2), 03/21/2019 23:53:20
推 TuCH: 我用gunicorn 如果code裡面有用到multiprocess 也有同樣的03/22 01:21
→ TuCH: 問題03/22 01:21
推 sean50301: 你可以試試看workers=1會不會動03/22 02:52
Workers=1一樣不行,但是用lazy-apps後就可以了@@
好神奇,想問用lazy-apps會有什麼問題嗎?
有看它的解釋但還是有點不懂
※ 編輯: michael3941 (114.136.235.2), 03/22/2019 09:19:45
→ kenduest: 若有用到 threading 記得 uwsgi 開 --enable-threads 03/22 19:55