def test_doing_work_with_two_workers_and_config_setup(self): def new_iter(): for x in xrange(5): yield ((x,), {}) my_list = [] def insert_into_list(anItem): my_list.append(anItem) config = DotDict() config.logger = self.logger config.number_of_threads = 2 config.maximum_queue_size = 2 config.job_source_iterator = new_iter config.task_func = insert_into_list ttm = ThreadedTaskManagerWithConfigSetup(config) try: ttm.start() time.sleep(0.2) ok_(len(ttm.thread_list) == 2, "expected 2 threads, but found %d" % len(ttm.thread_list)) ok_(len(my_list) == 5, 'expected to do 5 inserts, ' 'but %d were done instead' % len(my_list)) ok_(sorted(my_list) == range(5), 'expected %s, but got %s' % (range(5), sorted(my_list))) except Exception: # we got threads to join ttm.wait_for_completion() raise
def test_task_raises_unexpected_exception(self): global count count = 0 def new_iter(): for x in xrange(10): yield (x,) my_list = [] def insert_into_list(anItem): global count count += 1 if count == 4: raise Exception('Unexpected') my_list.append(anItem) config = DotDict() config.logger = self.logger config.number_of_threads = 1 config.maximum_queue_size = 1 config.job_source_iterator = new_iter config.task_func = insert_into_list ttm = ThreadedTaskManagerWithConfigSetup(config) try: ttm.start() time.sleep(0.2) assert len(ttm.thread_list) == 1 assert sorted(my_list) == [0, 1, 2, 4, 5, 6, 7, 8, 9] assert len(my_list) == 9 except Exception: # we got threads to join ttm.wait_for_completion() raise
def test_doing_work_with_two_workers_and_config_setup(self): def new_iter(): for x in xrange(5): yield ((x,), {}) my_list = [] def insert_into_list(anItem): my_list.append(anItem) config = DotDict() config.logger = self.logger config.number_of_threads = 2 config.maximum_queue_size = 2 config.job_source_iterator = new_iter config.task_func = insert_into_list ttm = ThreadedTaskManagerWithConfigSetup(config) try: ttm.start() time.sleep(0.2) assert len(ttm.thread_list) == 2 assert len(my_list) == 5 assert sorted(my_list) == list(range(5)) except Exception: # we got threads to join ttm.wait_for_completion() raise
def test_task_raises_unexpected_exception(self): global count count = 0 def new_iter(): for x in xrange(10): yield (x, ) my_list = [] def insert_into_list(anItem): global count count += 1 if count == 4: raise Exception('Unexpected') my_list.append(anItem) config = DotDict() config.logger = self.logger config.number_of_threads = 1 config.maximum_queue_size = 1 config.job_source_iterator = new_iter config.task_func = insert_into_list ttm = ThreadedTaskManagerWithConfigSetup(config) try: ttm.start() time.sleep(0.2) assert len(ttm.thread_list) == 1 assert sorted(my_list) == [0, 1, 2, 4, 5, 6, 7, 8, 9] assert len(my_list) == 9 except Exception: # we got threads to join ttm.wait_for_completion() raise
def test_doing_work_with_two_workers_and_config_setup(self): def new_iter(): for x in xrange(5): yield ((x, ), {}) my_list = [] def insert_into_list(anItem): my_list.append(anItem) config = DotDict() config.logger = self.logger config.number_of_threads = 2 config.maximum_queue_size = 2 config.job_source_iterator = new_iter config.task_func = insert_into_list ttm = ThreadedTaskManagerWithConfigSetup(config) try: ttm.start() time.sleep(0.2) assert len(ttm.thread_list) == 2 assert len(my_list) == 5 assert sorted(my_list) == range(5) except Exception: # we got threads to join ttm.wait_for_completion() raise