tornado实现的简单异步调用的例子
来源:互联网 发布:淘宝店上传图片的大小 编辑:程序博客网 时间:2024/05/29 19:07
tornado是python实现的一个异步web框架
除了写web服务实现web api供人调用之外,自己想写一个简单的http访问,于是有了下面的代码,尽供自己记录用,其实也可以用来平时写tornado代码简单进行功能调试使用参考
test.py
#coding=utf-8import tornado.ioloopfrom tornado import genfrom tornado.httpclient import AsyncHTTPClientfrom urllib import urlencodefrom tornado.netutil import ResolverAsyncHTTPClient.configure("tornado.curl_httpclient.CurlAsyncHTTPClient")Resolver.configure('tornado.platform.caresresolver.CaresResolver')PHONE_NUMS = ['13000000000','13000000001','13000000002','13000000003']uri = 'http://testurl/send'@gen.coroutinedef test_send(): http_client = AsyncHTTPClient(max_clients=32) req = [] for phone in PHONE_NUMS: _mesg = '验证码:%s' %phone[-6:] _query = dict(phone=phone, mesg=_mesg) query = urlencode(_query) _req = http_client.fetch(uri, method='POST', body=query) req.append(_req) resp = yield req print "resp:", respdef test_run(): #tornado.ioloop.PeriodicCallback(sms_send,60000).start() #tornado.ioloop.IOLoop.instance().start() ioloop = tornado.ioloop.IOLoop.current() ioloop.run_sync(test_send) if __name__ == "__main__": test_run()
本文中的例子在使用httpclient时候,使用了curl_httpclient这个实现,相比与tornado默认的simple_httpclient,curl_httpclient效率更高,并且还有其他的一些好处,可以参见tornado官方的文档介绍使用。
但是在使用curl_httpclient时,需要注意要配合使用异步的dns
上面的代码使用的一个异步的dns解析,在使用时需要另外安装pycares模块
pip install pycares
0 0
- tornado实现的简单异步调用的例子
- Tornado异步任务的实现
- 简单介绍tornado是如何实现异步非阻塞的
- Tornado异步任务的实现之一
- C#异步调用的例子
- C#异步调用的例子
- tornado学习笔记(二):如何在tornado中以异步的方式调用同步函数
- tornado 框架 简单的任务异步化方式
- 用Tornado实现简单的在线代理
- 用Tornado实现简单的在线代理
- 使用XMLHttpRequest结合struts2实现Ajax异步调用的例子
- tornado中epoll的异步请求的实现过程
- Extjs中加载异步树的最简单例子实现
- tornado的简单使用
- Tornado异步任务的实现(一)——tornado.httpclient.AsyncHTTPClient
- Ajax异步调用Web服务的例子
- .NET异步方法调用的例子
- tornado 分页的实现!
- eclipse 选项设置
- java hdu2188 巴特博弈
- AVFoundation之语音合成器
- 从头认识Spring-1.8 怎样利用AOP记录日志?
- NOIP2010:接水问题
- tornado实现的简单异步调用的例子
- setTimeout和setInterval的使用区别
- 快速掌握一个语言最常用的50%
- Linux学习:第九周
- 初学最短路算法
- leetcode 136. Single Number
- 高效阅读法
- android studio 签名
- HDU 4560 我是歌手(最大流)