def test_create(self): pool = CThreadPool(32, start=True) job = CThreadPool.lookupCFunction(TEST_LIB, "thread_pool_test_func1") arg = ctypes.c_int(0) N = 256 for i in range(N): pool.addTask(job, ctypes.byref(arg)) pool.join() self.assertEqual(arg.value, N)
def test_add_task_function(self): pool = CThreadPool(32, start=True) pool.addTaskFunction("testFunction", TEST_LIB, "thread_pool_test_func1") arg = ctypes.c_int(0) task_count = 256 for i in range(task_count): pool.testFunction(ctypes.byref(arg)) pool.join() self.assertEqual(arg.value, task_count)
def __init__(self, ert, size, verbose=False): self._ert = ert """ :type: ert.enkf.EnKFMain """ self._size = size self._queue_manager = JobQueueManager(ert.siteConfig().getJobQueue()) self._queue_manager.startQueue(size, verbose=verbose) self._run_args = {} """ :type: dict[int, RunArg] """ self._thread_pool = CThreadPool(8) self._thread_pool.addTaskFunction("submitJob", ENKF_LIB, "enkf_main_isubmit_job__")
def __init__(self, ert, size, verbose=False): self._ert = ert """ :type: ert.enkf.EnKFMain """ self._size = size self._queue_manager = JobQueueManager(ert.siteConfig().getJobQueue()) self._queue_manager.startQueue(size, verbose=verbose) mask = BoolVector(default_value=True, initial_size=size) runpath_fmt = self._ert.getModelConfig().getRunpathFormat() subst_list = self._ert.getDataKW() self._runpath_list = ErtRunContext.createRunpathList( mask, runpath_fmt, subst_list) self._run_args = {} """ :type: dict[int, RunArg] """ self._thread_pool = CThreadPool(8) self._thread_pool.addTaskFunction("submitJob", ENKF_LIB, "enkf_main_isubmit_job__")