コード例 #1
0
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)
コード例 #2
0
ファイル: test_sched.py プロジェクト: msfrank/terane
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)
コード例 #3
0
ファイル: server.py プロジェクト: msfrank/terane
     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)
コード例 #4
0
     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)
コード例 #5
0
 def setUp(self):
     self.scheduler = Scheduler()
コード例 #6
0
ファイル: test_sched.py プロジェクト: msfrank/terane
 def setUp(self):
     self.scheduler = Scheduler()