flask 实现异步非阻塞----gevent
?
我們都知道,flask不支持異步非阻塞的請(qǐng)求,我們可以創(chuàng)建一個(gè)新項(xiàng)目去測(cè)試一下,推薦大家使用pycharm去開發(fā)我們的flask ?使用特別的方便。
rom flask import Flask import time app = Flask(__name__) @app.route('/') def hello_world():time.sleep(10)return 'Hello World!'@app.route('/index') def beijing():return 'Beijing' if __name__ == '__main__':app.run()這樣我們實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的;flask代碼,我們讓第一個(gè)視圖休眠10s,第二個(gè)正常返回,
我們?cè)囍脼g覽器訪問下。
我們可以看到,這個(gè)時(shí)候我去訪問第一個(gè)視圖,一直處于加載中,這個(gè)時(shí)候我去訪問第二個(gè)視圖,也是處于一直加載中,那么我們?cè)趺慈バ薷哪?#xff0c;其實(shí)
我們gevent庫(kù)就可以幫助我們?nèi)ソ鉀Q這個(gè)問題
from flask import Flask from gevent.pywsgi import WSGIServer from gevent import monkey import time monkey.patch_all() app = Flask(__name__) @app.route('/') def hello_world():time.sleep(10)return 'Hello World!'@app.route('/index') def beijing():return 'Beijing' if __name__ == '__main__':http_server = WSGIServer(('127.0.0.1', 5000), app)http_server.serve_forever()修改后的代碼如下,我們可以試著去請(qǐng)求下。
我們可以看到,當(dāng)我們第一個(gè)阻塞住的時(shí)候,我們可以正常的去訪問我們第二個(gè)路由
?
那么我們這樣就可以實(shí)現(xiàn)我們異步的非阻塞的flask,
可以運(yùn)用到實(shí)際的工作中。
推薦一個(gè)gevent學(xué)習(xí)的博客https://softlns.github.io/2015/11/28/python-gevent/
世上本沒有路,走多了變有路。
作者寄語(yǔ):
前進(jìn)的道路我們充滿著迷茫,
前進(jìn)的每一步我們都會(huì)有收獲。
路在腳下,我們決定不了我們的出身,但是我們可以努力改變我們未來(lái)。
告別昨天失敗的自己,努力拼搏今天,成就美好明天
?
QQ:952943386 email:leileili126@163.com? qq群:194704520? 新群:683894834
?
轉(zhuǎn)載于:https://www.cnblogs.com/leiziv5/p/8759673.html
總結(jié)
以上是生活随笔為你收集整理的flask 实现异步非阻塞----gevent的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 邮储银行信用卡APP叫什么名字?信用卡A
- 下一篇: 6、复制文件