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