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