尝试弄清楚如何安排“PeriodicCallback”的计划,我写了这个脚本:
这里发生了什么?
import time
import tornado.ioloop
t0 = time.time()
def foo():
time.sleep(1)
print(time.time() - t0)
tornado.ioloop.PeriodicCallback(foo, 2000).start()
tornado.ioloop.IOLoop.instance().start()
我原本期望它每2秒或3秒触发一次,这取决于tornado是否等待完成后再安排下一个事件。然而,我得到了以下结果:
3.00190114975
6.00296115875
10.0029530525
14.0029621124
18.0029540062
22.0050959587
26.0040180683
30.005161047
34.0053040981
这里发生了什么?