Paratize.Chunk
Implementation of parallel exec via chunks and Task.async / Task.await.
Paratize.Chunk implements the Paratize.Base behaviour and inherits the implementation for parallel_each/3 and parallel_map/3.
Parallelism is achieved within each chunk of functions. Processing on the next chunk starts only after the current chunk is completed.
Summary
| parallel_each(args_list, fun, task_options \\ %Paratize.TaskOptions{}) | Parallel processing of .each function via |
| parallel_exec(fun_list, task_options \\ %Paratize.TaskOptions{}) | Parallel processing of functions via chunks. Returns the list of result in order |
| parallel_map(args_list, fun, task_options \\ %Paratize.TaskOptions{}) | Parallel processing of .map function via |
Functions
Specs:
- parallel_each(List.t, Fun, Paratize.TaskOptions.t) :: :ok
Parallel processing of .each function via exec/2.
Returns :ok
Args
- args_list - list of arguments to be applied to fun
- fun - function taking in each argument
- task_options -
Paratize.TaskOptions
Specs:
- parallel_exec(List.t, Paratize.TaskOptions.t) :: List.t
Parallel processing of functions via chunks. Returns the list of result in order.
Args:
- fun_list - list of functions to execute in parallel.
- task_options -
Paratize.TaskOptions
iex> [fn -> 1 end, {:b, fn -> 2 end}, fn -> 3 end] |> Paratize.Chunk.parallel_exec [1, {:b,2}, 3]
Specs:
- parallel_map(List.t, Fun, Paratize.TaskOptions.t) :: List.t
Parallel processing of .map function via exec/2.
Returns list of results in order.
Args
- args_list - list of arguments to be applied to fun
- fun - function taking in each argument
- task_options -
Paratize.TaskOptions