美文网首页PYTHON收藏
【转】Flask实现异步非阻塞请求功能

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

作者: ZhouLang | 来源:发表于2017-03-12 11:07 被阅读370次

本文来源: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()

相关文章

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

    本文来源:http://blog.csdn.net/yannanxiu/article/details/52915...

  • [Flask] 异步非阻塞IO实现

    Flask默认是不支持非阻塞IO的,表现为: 当 请求1未完成之前,请求2是需要等待处理状态,效率非常低。 在fl...

  • Flask实现异步非阻塞接口

    背景:工作中有一需求,需要请求外部JiRa(类似数据库吧),将请求数据进行分析,从请求到获取数据需要20s,由于这...

  • Java IO快速入门

    网络IO实现方式分为BIO(阻塞IO)、线程池伪异步IO、NIO(非阻塞IO)、AIO(异步非阻塞IO); 异步、...

  • 同步、异步、阻塞、非阻塞,这下明白了

    同步阻塞,同步非阻塞,异步阻塞,异步非阻塞... 晕! 头! 转! 向! 对于小白来说,理解这些概念太难了。搜索这...

  • 网络知识点回顾一

    同步请求和异步请求- 同步请求:阻塞式请求,会导致用户体验的中断- 异步请求:非阻塞式请求,不中断用户体验,百度地...

  • OkHttp Interceptor(拦截器) RealInte

    简单的回顾下同步/异步 同步请求就是执行请求的操作是阻塞式,直到 Http 响应返回异步请求就类似非阻塞式的请求,...

  • Java IO

    Before IO 分为:同步、异步阻塞、非阻塞 同步和异步是目的,阻塞和非阻塞是实现方式。 一个IO操作其实分成...

  • 谈论:同步异步阻塞非阻塞.md

    同步/异步:关注的方式(是否主动) 阻塞/非阻塞: 同步阻塞BIO: 同步非阻塞NIO: 异步非阻塞: 异步阻塞:

  • 异步编程

    同步、异步、阻塞、非阻塞 Future JDK 5引入了Future模式。重点实现的是并发处理,异步阻塞 Futu...

网友评论

    本文标题:【转】Flask实现异步非阻塞请求功能

    本文链接:https://www.haomeiwen.com/subject/fwetnttx.html