342 assert self.cleanup_session_time > 0 |
342 assert self.cleanup_session_time > 0 |
343 cleanup_session_interval = min(60*60, self.cleanup_session_time / 3) |
343 cleanup_session_interval = min(60*60, self.cleanup_session_time / 3) |
344 self.looping_task(cleanup_session_interval, self.clean_sessions) |
344 self.looping_task(cleanup_session_interval, self.clean_sessions) |
345 assert isinstance(self._looping_tasks, list), 'already started' |
345 assert isinstance(self._looping_tasks, list), 'already started' |
346 for i, (interval, func, args) in enumerate(self._looping_tasks): |
346 for i, (interval, func, args) in enumerate(self._looping_tasks): |
347 self._looping_tasks[i] = task = utils.LoopTask(interval, func, args) |
347 self._looping_tasks[i] = task = utils.LoopTask(self, interval, func, args) |
348 self.info('starting task %s with interval %.2fs', task.name, |
348 self.info('starting task %s with interval %.2fs', task.name, |
349 interval) |
349 interval) |
350 task.start() |
350 task.start() |
351 # ensure no tasks will be further added |
351 # ensure no tasks will be further added |
352 self._looping_tasks = tuple(self._looping_tasks) |
352 self._looping_tasks = tuple(self._looping_tasks) |