yield AsyncHTTPClient().fetch(url)调用其他服务,出现599 timeout
我有个tornado服务的某个接口,是调用其他服务的返回值处理后,再返回给服务调用方,我发现我单独用curl请求url不慢,但是用yield AsyncHTTPClient().fetch(url)请求,超级慢,二三十秒回不来。
是AsyncHTTPClient本身处理机制的问题吗?
以下是我的代码:
begin=int(time.time()*1000)
url='http://example.com/server'
response = yield AsyncHTTPClient().fetch(url)
cost=int(time.time()*1000)-begin
log.info("cost:"+str(cost)+" code:"+str(response.code)
+" result:"+str(response.error)+" response:"+str(response.body))
cost能打印出30秒来
code:是599
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个要配合异步装饰器使用的,比如
tornado.gen.coroutine
可以参考 异步客户端AsyncHTTPClient