深入flask之異步非堵塞實現代碼示例
更新時間:2018年07月31日 13:42:52 作者:danny_amos
這篇文章主要介紹了深入flask之異步非堵塞實現代碼示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
官方其實已經給出了方案,只不過藏的有點深,在加上網上有很多不太靠譜的帖子誤導了我(當然不排除我沒理解的原因哈)。所以為了讓有些朋友的少走點彎路,也為給自己做個備忘。
完整代碼:https://github.com/wskssau/my_notespace的 python/todo_app
解決方案: flask+gevent
安裝gevent
pip install gevent
修改代碼
# 文件頭部
from gevent import monkey
from gevent.pywsgi import WSGIServer
# 在玩websockets,可以無視之哈,有空貼下flask websockets實現哈
from geventwebsocket.handler import WebSocketHandler
import time
# gevent的猴子魔法
monkey.patch_all()
app = Flask(__name__)
app.config.update(
DEBUG=True
)
@app.route('/asyn/1/', methods=['GET'])
def test_asyn_one():
if request.method == 'GET':
time.sleep(10)
return 'hello asyn'
@app.route('/test/', methods=['GET'])
def test():
return 'hello test'
if __name__ == "__main__":
# app.run()
http_server = WSGIServer(('', 5000), app, handler_class=WebSocketHandler)
http_server.serve_forever()
運行之后可以先訪問/asyn/1/再訪問/test/,可以明顯發(fā)現,/asyn/1/在做耗時任務時不會影響其他請求
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Pandas?Matplotlib保存圖形時坐標軸標簽太長導致顯示不全問題的解決
在使用matplotlib作圖的時候,有的時候會遇到畫圖時顯示不全和圖片保存時不完整的問題,這篇文章主要給大家介紹了關于Pandas?Matplotlib保存圖形時坐標軸標簽太長導致顯示不全問題的解決方法,需要的朋友可以參考下2022-06-06
Python數據分析之雙色球基于線性回歸算法預測下期中獎結果示例
這篇文章主要介紹了Python數據分析之雙色球基于線性回歸算法預測下期中獎結果,涉及Python基于線性回歸算法的數值運算相關操作技巧,需要的朋友可以參考下2018-02-02
python MultipartEncoder傳輸zip文件實例
這篇文章主要介紹了python MultipartEncoder傳輸zip文件實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04

