예제 #1
0
    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)
예제 #2
0
파일: scheduler.py 프로젝트: bjtulug/mirror
    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)
예제 #3
0
파일: scheduler.py 프로젝트: znanl/mirror
    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)
예제 #4
0
    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)