當我在媒體串列中的任何歌曲上按播放時,它必須發送一個 send_file ......但是,當 send_file 正在進行時,整個網站都會凍結,這意味著如果這個 send_file 發生并且有人進入網站的主頁,只要 send_file 需要,他們就會等待。
這是我的代碼:
@app.route('/getMedia/')
def getMedia():
file = request.args.get('filename')
def getReqFile():
with open(f'./media/{file}', mode="rb") as file_like:
yield from file_like
try:
# send_file(f'./media/{file}', conditional=True, as_attachment=True)
return Response(getReqFile())
except FileNotFoundError:
return 'The media you tried to view doesn\'t exist.'
我不確定如何更好地措辭,所以如果沒有意義,我很抱歉。
uj5u.com熱心網友回復:
雖然通常被忽略,但這部分可以讓您搶占先機
if __name__=="__main__":
app.run(threaded=True)
雖然你不應該完全依賴它。
With threaded=True SocketServer.ThreadingMixIn 類的一個實作
在新的不同執行緒中處理每個請求。服務器可用于并發處理請求的執行緒數完全取決于您的作業系統以及它對每個行程的執行緒數設定的限制。所以沒有限制,或者更確切地說,執行緒的限制取決于您的服務器功能。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/439578.html
下一篇:我不知道為什么在將變數發送到HTML時它顯示UnboundLocalError。我嘗試了類似的Stackoverflow解決方案,但沒有解決
