def __init__(self, callback, callback_time, io_loop=None):
self.callback = callback
self.callback_time = callback_time
self.io_loop = io_loop or IOLoop.current()
if self.io_loop._running:
# Use a regular PeriodicCallback
self._pc = PC(callback, callback_time, io_loop)
else:
from threading import Timer
# NOTE: PeriodicCallback uses ms while Timer uses seconds
def callback_wrapper():
"Runs the callback and restarts the Timer so it will run again"
self.callback()
self._pc = Timer(callback_time / 1000, callback_wrapper)
if self._running:
self._pc.start()
self._pc = Timer(callback_time / 1000, callback_wrapper)
self._running = False
评论列表
文章目录