有没有办法在龙卷风PeriodicCallback实例中更改回调超时?

时间:2016-11-24 15:16:50

标签: python tornado

我知道:

periodical_cllback_instance.stop() periodical_cllback_instance.start()

但它会以当前callback_time重新启动...是否有任何猴子补丁在触发callback_time或其他方式后更改stop()

1 个答案:

答案 0 :(得分:1)

您可以直接更改callback_time,甚至不需要停止PeriodicCallback实例。这段剪辑似乎对我有用:

import tornado
from tornado.ioloop import PeriodicCallback

pc = None
counter = 0


def get_periodic_callback():
    global pc
    if pc is None:
        pc = PeriodicCallback(callback, 1000)
    return pc


def callback():
    global counter
    if counter < 5:
        counter += 1
        print("foo")
    else:
        pc = get_periodic_callback()
        pc.callback_time = 100
        print("bar")


pc = get_periodic_callback()
pc.start()
tornado.ioloop.IOLoop.instance().start()