Tornado简单介绍

Tornado 介绍

  • 高并发网络框架
  • 非阻塞
  • 完备的WEB组件
  • 完整的WebSocket(长链接)
  • 高效的 HttpClient

Tornado异步调用

方式1:

from tornado.httpclient import AsyncHttpClient

async def visit_baidu() :

	client = AsyncHttpClient()
	
	response =  await client.fetch("http://www.baidu.com")
	
	# 异步获取结果 
	print(response.body.decode())

方式2:

from tornado.httpclient import AsyncHttpClient
from tornado import gen

@gen.coroutine
def visit_baidu() :

	client = AsyncHttpClient()
	response =  yield client.fetch("http://www.baidu.com")
	# 异步获取结果 
	print(response.body.decode())

异步 函数的 调用

  • 在协程函数中,通过 yield 调用 异步函数
  • IOLoop 未启动 的 run_sync 调用
  • IOLoop 启动 后用 spawn_callback 调用
from tornado.ioloop import IOLoop

if __name__ == "__main__" :

	IOLoop.current().run_sync("visit_baidu")

猜你喜欢

转载自blog.csdn.net/qq_40679091/article/details/110626430
今日推荐