Module Tasks.Runner

A runner accepts new tasks repeatedly for parallel execution

type ('work, 'final) t
val create : jobs:int -> f:'work doer -> child_epilogue:(unit -> 'final) -> tasks:'work task_generator -> ('work'final) t

Create a runner running jobs jobs in parallel

val run : (_'final) t -> 'final option InferStdlib.IStd.Array.t

Start the given tasks with the runner and wait until completion