def schedule(self, timeout, interval, func):
tw = TimerWraper()
def func_wrapper():
start = time.time()
try:
func()
except Exception:
self.exception()
with tw.cancel_lock:
if not tw.canceled:
tw.timer = threading.Timer(abs(interval - (time.time() - start)), func_wrapper, ())
tw.timer.start()
tw.timer = threading.Timer(timeout, func_wrapper, ())
tw.timer.start()
return tw
评论列表
文章目录