def start(self): """Start the connection handler thread.""" if not self._running: self._running = True t = Task(target=self.__conn_handler, infinite=True) t.failure = self._catch_fail self._conn_handler_task = self._tp.run(t)
def test_task_infinite(self): d = dict(counter = 0) t = Task(target=self.__test_counter, infinite=True) t.args = (d,) t = self.tp.run(t) time.sleep(0.01) t.stop() self.assertGreater(d['counter'], 2)
def test_task(self): task = Task(target=lambda x: x) self.assertIsInstance(task.id, long) self.assertEqual(task.target(True), True) self.assertEqual(task.success(True), True) self.assertEqual(task.failure(False), False) self.assertIsInstance(task.args, tuple) self.assertIsInstance(task.kwargs, dict)
def __init__(self): self._tp = GlobalThreadPool() self._logger = Logger() self._ingress = queue.Queue() self._egress = queue.Queue() # TODO: Put the following in a configuration file. self._home_dir = '/home' self._user_dir = os.path.join(self._home_dir, '{username}') self._ssh_dir = os.path.join(self._user_dir, '.ssh') self._authkeys = os.path.join(self._ssh_dir, 'authorized_keys') # Start the action handler t = Task(target=self.__action_handler, infinite=True) t.failure = self.__catch_fail self._action_handler_task = self._tp.run(t)
def test_tp_stress(self): for x in range(5000): t = Task(target=self.__test_target) t.args = ("task" + str(x),) t = self.tp.run(t)
def test_worker_task(self): t = Task(target=self.__test_target, success=self._test_cb) t.args = ("task1",) t = self.tp.run(t) retval = self.tp_results.get(timeout=5) self.assertEqual(retval, "task1test")