【转】Flask实现异步非阻塞请求功能

本文来源:http://blog.csdn.net/yannanxiu/article/details/52915929  感谢作者!

前言

最近做物联网项目的时候需要搭建一个异步非阻塞的HTTP服务器,经过查找资料,发现可以使用gevent包。

关于gevent

Gevent 是一个Python并发网络库,它使用了基于 libevent 事件循环的 greenlet 来提供一个高级同步 API。下面是代码示例:

fromgevent.wsgiimportWSGIServer

fromyourapplicationimportapp

http_server = WSGIServer(('',5000), app)

http_server.serve_forever()

代码清单

下面放上Flask异步非阻塞的代码清单,以后需要用到的时候直接移植即可。

# coding=utf-8

# Python Version: 3.5.1

# Flask

from flask import Flask, request, g

# gevent

from gevent import monkey

from gevent.pywsgi import WSGIServer

monkey.patch_all()

# gevent endimporttime

app = Flask(__name__)

app.config.update(DEBUG=True)

@app.route('/asyn/', methods=['GET'])

deftest_asyn_one():

print("asyn has a request!")

time.sleep(10)

return'hello asyn'

@app.route('/test/', methods=['GET'])

deftest():return'hello test'

if__name__ =="__main__":

# app.run()

http_server = WSGIServer(('',5000), app)

http_server.serve_forever()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容