请问 gevent 异步请求多个 url 如何取到每个请求的执行时间

2016-08-17 16:38:03 +08:00
 kevin8096
由于是异步的开始时间和结束时间的差并不是执行时间。请问如果取?


start_time = func.millisecond()
conn = httplib.HTTPConnection(self.host,timeout=5)
conn.putrequest("GET", "/")
conn.putheader("Host", self.domain)
conn.endheaders()
res = conn.getresponse()
end_time = func.millisecond()
use_time = str(end_time - start_time)
2891 次点击
所在节点    Python
3 条回复
noli
2016-08-17 19:29:33 +08:00
是不是有点想太多了,直接取时间就可以了。
虽然 io 是异步的,但是对于当前执行上下文来说一样是顺序执行的。
petelin
2016-08-17 21:37:32 +08:00
@noli 从一个子程序开始一直到结束是记作执行时间的,但是期间去执行别的子程序了,去访问别的 url 去了,,,
0x5010
2016-08-18 10:21:05 +08:00
传入一个记录时间的回调

写个统计时间的装饰器

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/299946

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX