深入flask之異步非堵塞實現(xiàn)代碼示例
官方其實已經(jīng)給出了方案,只不過藏的有點深,在加上網(wǎng)上有很多不太靠譜的帖子誤導(dǎo)了我(當(dāng)然不排除我沒理解的原因哈)。所以為了讓有些朋友的少走點彎路,也為給自己做個備忘。
完整代碼: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實現(xiàn)哈 from geventwebsocket.handler import WebSocketHandler import time ?!event的猴子魔法 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ā)現(xiàn),/asyn/1/在做耗時任務(wù)時不會影響其他請求
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python(TensorFlow框架)實現(xiàn)手寫數(shù)字識別系統(tǒng)的方法
這篇文章主要介紹了Python(TensorFlow框架)實現(xiàn)手寫數(shù)字識別系統(tǒng)的方法。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05python使用tesseract實現(xiàn)字符識別功能
Tesseract 是一個開源的光學(xué)字符識別(OCR)引擎,它能夠識別多種語言的文本,可將掃描文檔、圖像中的文字提取并轉(zhuǎn)換為計算機可編輯的文本格式,本文給大家介紹了python使用tesseract實現(xiàn)字符識別功能,需要的朋友可以參考下2024-10-10python循環(huán)控制之break和continue流程控制語句
這篇文章主要介紹了python循環(huán)控制之break流程控制語句,Python中提供了兩個關(guān)鍵字用來控制循環(huán)語句,分別是break和continue,本文都有介紹,需要的朋友可以參考一下2022-03-03Gauss-Seidel迭代算法的Python實現(xiàn)詳解
這篇文章主要介紹了Gauss-Seidel迭代算法的Python實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-06-06Python中的裝飾器鏈(decorator chain)詳解
在Python中,裝飾器是一種高級功能,它允許你在不修改函數(shù)或類代碼的情況下,為它們添加額外的功能,裝飾器通常用于日志記錄、性能測量、權(quán)限檢查等場景,當(dāng)多個裝飾器應(yīng)用于同一個函數(shù)或類時,形成裝飾器鏈,這篇文章主要介紹了Python中的裝飾器鏈詳解,需要的朋友可以參考下2024-06-06python簡單實現(xiàn)基于SSL的IRC bot實例
這篇文章主要介紹了python簡單實現(xiàn)基于SSL的IRC bot,實例分析了IRC機器人的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2015-06-06