Python 板


LINE

--------------- 大概是這樣 目前是使用flask實作網頁登入系統 使用的套件有 flask-sqlalchemy連接DB用、flask_login管理登入用 系統實作上功能正常。 唯一的問題是。每進入一個頁面都會檢查是否處於登入狀況。而這個登入狀況會有一個 query的動作。 重點是每一次query都會讓SQL的Connection數量增加而且不會關閉。 導致最後sql連線數量過多而暫時shutdown的問題出現。 code大概是這樣 from flask_sqlalchemy import SQLAlchemy from flask_login import LoginManager, UserMixin, login_user, login_required, logout_user, current_user app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://xxxx@xxxx/user_table' db = SQLAlchemy(app) class User(UserMixin, db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(15), unique=True) email = db.Column(db.String(50), unique=True) password = db.Column(db.String(80)) @login_manager.user_loader def load_user(user_id): return User.query.get(int(user_id)) <---重點就是這行 每訪問一個頁面都要檢查是否是登入狀態才能檢視。 這行就是檢查是否登入時需要執行的code。 但是每次執行後會使db connection增加。而且不會close connection。 最後就會連線數量過多而導致MySQL shutdown...。 使用的Flask-SQLAlchemy版本是2.4.1 Stackoverflow上面也有人用一樣差不多的寫法遇到跟我一樣的狀況 https://bit.ly/3eKh5cP 最後也沒有解決QQ 想請教各位該如何解決這個問題。 謝謝 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.216.103 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1587648488.A.EFA.html ※ 編輯: NCUgamer (140.113.216.103 臺灣), 04/23/2020 22:56:07
1F:→ MARGHT: 沒有close db session? 04/23 22:59
我感覺也是 不過flask_alchemy document介紹query的方法就是這麼做。 query完也沒有特別去關db session
2F:推 CMJ0121: 是無限制上升 還是你感覺有變多而已 04/23 23:40
無限制上升,我有去MySQL那邊查 Thread(Connection數量)會一直增加 直到超過max_size
3F:→ CMJ0121: 我記得 flask_sqlalchemy 有幫你做 connection pool 04/23 23:41
4F:→ CMJ0121: 看 Github source code 他有註冊 teardown_appcontext 04/24 00:15
5F:→ CMJ0121: 看起來是有做 self.session.remove() 04/24 00:15
正常的情況下應該會自己關閉。 原因不知道是不是我瀏覽一個頁面會快速Query好幾次,導致有些session沒有關閉...。 但問題是就算Query好幾次應該也不會創造一堆connection個別進行Query的動作 而是用同個connection進行好幾次Query才對啊....。 目前確定是那行造成connection數量爆增,但是找不出原因QQ ※ 編輯: NCUgamer (140.113.216.103 臺灣), 04/24/2020 03:13:13
6F:→ TakiDog: 我建議分開自己寫 04/24 04:16
7F:推 handsomeLin: 先說板本,再來他沒有關你就自己關試試看邊 04/25 23:49







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP