eumap.parallel.utils.job¶
- job(worker, worker_args, n_jobs=- 1, joblib_args={})[source]¶
Execute a function in parallel using joblib [1].
- Parameters
worker (
Callable
) – Function to execute in parallel.worker_args (
Iterator
[tuple
]) – Argument iterator where each element is send to separate job.joblib_args (
set
) – Number of CPU cores to use in the parallelization. By default all cores are used.joblib_args – Joblib argumets to send to
Parallel class
[1].
- Returns
A generator with the return of all workers
- Return type
Generator
References
Examples
>>> from eumap import parallel >>> >>> def worker(i, msg): >>> print(f'{i}: {msg}') >>> return f'Worker {i} finished' >>> >>> msg = ("I'm running in parallel", ) >>> args = iter([ (i,msg) for i in range(0,5)]) >>> >>> for result in parallel.job(worker, args, n_jobs=-1, joblib_args={'backend': 'threading'}): >>> print(result)