第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

Flask發(fā)郵件慢(即使是異步)求指導!

Flask發(fā)郵件慢(即使是異步)求指導!

明月笑刀無情 2019-08-21 13:38:03
Flask發(fā)QQ郵件太慢了(即使是異步),原本150ms響應(yīng)的頁面加了郵件變成了5s,請問各位大神有沒有比較簡單的解決方法?現(xiàn)在我很疑惑的是,既然我已經(jīng)新開一個線程來發(fā)郵件,按理視圖業(yè)務(wù)不會等待他發(fā)送完郵件而會直接繼續(xù)響應(yīng),但是實際情況是視圖業(yè)務(wù)被阻塞了5s部分代碼(按照狗書寫的):defsend_async_email(app,msg):withapp.app_context():mail.send(msg)defsend_email(to,subject,template,**kwargs):app=current_app._get_current_object()msg=Message(app.config['FLASKY_MAIL_SUBJECT_PREFIX']+subject,sender=app.config['FLASKY_MAIL_SENDER'],recipients=[to])msg.body=render_template(template+'.txt',**kwargs)msg.html=render_template(template+'.html',**kwargs)thr=Thread(target=send_async_email,args=[app,msg])thr.start()returnthr
查看完整描述

2 回答

?
偶然的你

TA貢獻1841條經(jīng)驗 獲得超3個贊

不是特別了解flask,也沒太看懂你寫的啥,但有一點,你異步發(fā)郵件也會從150ms變成5s?這里大有問題,應(yīng)該只有三種可能會這樣
等待網(wǎng)絡(luò)I/O的部分根本沒有放到異步任務(wù)里(你可能把無關(guān)緊要的部分當成耗時的I/O部分放到異步任務(wù)里了)
開的新線程用到的變量有鎖,直到郵件發(fā)送完才釋放,而處理請求的線程在處理完請求前一直在等待發(fā)郵件的線程釋放鎖(或者是處理請求的線程自身的機制導致阻塞,也可能是你在請求處理結(jié)束前主動調(diào)用了.join導致阻塞)
在你的場景里,發(fā)送郵件是CPU密集型任務(wù),這多出來的4秒多全花在CPU拼命運算如何發(fā)郵件上
第三種不太可能,你多加幾行輸出,排查一下前兩種可能
                            
查看完整回答
反對 回復 2019-08-21
  • 2 回答
  • 0 關(guān)注
  • 295 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號