def test_taskqueue(self): task1 = TaskInfo("Buy clock", 0, 1376712000, 2) task2 = TaskInfo("Basketball", 0, 1376701200, 1) task3 = TaskInfo("Wash clothes", 0, 1376701200, 2) task4 = TaskInfo("Send letter", 0, 1376704800, 4) queue = Queue(task1, task2, task3, task4, "Qiandao Lake") self.assertEqual(queue.size(), 4) self.assertEqual(queue.empty(), False) # it is Basketball task = queue[0] self.assertEqual(task.name, "Basketball") self.assertEqual(task.time, 1376701200)
def reload_config(self): log.info("Stopping running tasks...") signal.signal(signal.SIGCHLD, signal.SIG_DFL) self.stop_all_tasks() signal.signal(signal.SIGCHLD, mirror.handler.sigchld_handler) log.info("Clearing old data...") self.tasks = odict(filter(lambda x:x[1].isinternal,self.tasks.items())) self.queue = Queue() log.info("Reloading new configs...") self.config = ConfigManager("mirror.ini", need_reload = True) self.init_general(self.config) self.init_tasks (self.config)
def __init__(self, options=None, args=None): # The name is "Scheduler" super(Scheduler, self).__init__(self.__class__.__name__) # self.tasks contains all tasks needed to run in theory, # including the tasks that are not enabled self.config = ConfigManager("mirror.ini") self.tasks = odict() self.queue = Queue() self.todo = self.SCHEDULE_TASK # the number of tasks that enabled self.active_tasks = -1 self.roused_by_child = False self.init_general(self.config) self.init_tasks(self.config)
def reload_config(self): log.info("Stopping running tasks...") signal.signal(signal.SIGCHLD, signal.SIG_DFL) self.stop_all_tasks() signal.signal(signal.SIGCHLD, mirror.handler.sigchld_handler) log.info("Clearing old data...") for taskname, task in self.tasks.iteritems(): if not task.isinternal: del self.tasks[taskname] self.queue = Queue() log.info("Reloading new configs...") self.config = ConfigManager("mirror.ini", need_reload=True) self.init_general(self.config) self.init_tasks(self.config)