class Scheduler_Tests(unittest.TestCase): def setUp(self): self.scheduler = Scheduler() def _taskDone(self, task, workers): self.assertEqual(task.state, STATE_READY) for worker in workers: self.assertEqual(worker.niterations, 0) def test_worker(self): task = self.scheduler.addTask('task 1') workers = [Worker()] task.addWorker(workers[0]) return task.whenStateChanges().addCallback(self._taskDone, workers) def test_multiple_workers(self): task = self.scheduler.addTask('task 1') workers = [Worker(), Worker(), Worker()] task.addWorker(workers[0]) task.addWorker(workers[1]) task.addWorker(workers[2]) return task.whenStateChanges().addCallback(self._taskDone, workers) def test_deferred_worker(self): task = self.scheduler.addTask('task 1') workers = [DeferredWorker()] task.addWorker(workers[0]) return task.whenStateChanges().addCallback(self._taskDone, workers) def test_generator_worker(self): task = self.scheduler.addTask('task 1') workers = [GeneratorWorker()] task.addWorker(workers[0]) return task.whenStateChanges().addCallback(self._taskDone, workers) def test_worker_fails(self): task = self.scheduler.addTask('task 1') return self.assertFailure( task.addWorker(WorkerFailure()).whenDone(), WorkerFailed) def test_deferred_fails(self): task = self.scheduler.addTask('task 1') return self.assertFailure( task.addWorker(DeferredFailure()).whenDone(), WorkerFailed) def test_generator_fails(self): task = self.scheduler.addTask('task 1') return self.assertFailure( task.addWorker(GeneratorFailure()).whenDone(), WorkerFailed)
class Scheduler_Tests(unittest.TestCase): def setUp(self): self.scheduler = Scheduler() def _taskDone(self, task, workers): self.assertEqual(task.state, STATE_READY) for worker in workers: self.assertEqual(worker.niterations, 0) def test_worker(self): task = self.scheduler.addTask('task 1') workers = [Worker()] task.addWorker(workers[0]) return task.whenStateChanges().addCallback(self._taskDone, workers) def test_multiple_workers(self): task = self.scheduler.addTask('task 1') workers = [Worker(), Worker(), Worker()] task.addWorker(workers[0]) task.addWorker(workers[1]) task.addWorker(workers[2]) return task.whenStateChanges().addCallback(self._taskDone, workers) def test_deferred_worker(self): task = self.scheduler.addTask('task 1') workers = [DeferredWorker()] task.addWorker(workers[0]) return task.whenStateChanges().addCallback(self._taskDone, workers) def test_generator_worker(self): task = self.scheduler.addTask('task 1') workers = [GeneratorWorker()] task.addWorker(workers[0]) return task.whenStateChanges().addCallback(self._taskDone, workers) def test_worker_fails(self): task = self.scheduler.addTask('task 1') return self.assertFailure(task.addWorker(WorkerFailure()).whenDone(), WorkerFailed) def test_deferred_fails(self): task = self.scheduler.addTask('task 1') return self.assertFailure(task.addWorker(DeferredFailure()).whenDone(), WorkerFailed) def test_generator_fails(self): task = self.scheduler.addTask('task 1') return self.assertFailure(task.addWorker(GeneratorFailure()).whenDone(), WorkerFailed)
os.close(0) os.close(1) os.close(2) # redirect stdin, stdout, and stderr to /dev/null os.dup2(os.open('/dev/null', os.O_RDWR), 0) os.dup2(0, 1) os.dup2(0, 2) # chdir to the filesystem root so we don't prevent unmounting os.chdir('/') # write PID to the pidfile f = open(self.pidfile, 'w') f.write("%i\n" % os.getpid()) f.close() atexit.register(self._removePid) # register the scheduler scheduler = Scheduler() provideUtility(scheduler, IScheduler) scheduler.setServiceParent(self) # configure the statistics manager stats.setServiceParent(self) stats.configure(self.settings) # configure the plugin manager plugins = PluginManager() plugins.setServiceParent(self) plugins.configure(self.settings) # configure the auth manager auth = AuthManager() auth.setServiceParent(self) auth.configure(self.settings) # configure the bier manager events = EventManager(plugins)
def setUp(self): self.scheduler = Scheduler()