def _get_poll_timeout(self): now = clock() if self._tasks: soonest = min(task.get_remaining_time(now) for task in self._tasks) else: soonest = self.MAX_POLL_TIMEOUT return max(soonest, 0)
def _handle_tasks(self): new_tasks = [] now = clock() for task in self._tasks: if task.get_remaining_time(now) <= 0: self.call(task.invoke) else: new_tasks.append(task) self._tasks = new_tasks
def within(self, seconds, func, *args, **kwargs): return self.at(clock() + seconds, func, *args, **kwargs)
def __init__(self, reactor, interval, callback): TaskBase.__init__(self, reactor, callback) self.starttime = clock() self.interval = interval