Module OpamParallel

Parallel execution of jobs following a directed graph

module type VERTEX = sig ... end
module type G = sig ... end
exception Aborted

When one job fails due to an exception, other running jobs are interrupted and reported with this sub-exception in the Errors list

exception Errors of int list * (int * exn) list * int list

In the simple iter, map and reduce cases, ints are the indexes of the jobs in the list

val iter : jobs:int -> command:('a -> unit OpamProcess.job) -> ?⁠dry_run:bool -> 'a list -> unit
val map : jobs:int -> command:('a -> 'b OpamProcess.job) -> ?⁠dry_run:bool -> 'a list -> 'b list
val reduce : jobs:int -> command:('a -> 'b OpamProcess.job) -> merge:('b -> 'b -> 'b) -> nil:'b -> ?⁠dry_run:bool -> 'a list -> 'b
module type SIG = sig ... end
module Make : functor (G : G) -> SIG with module G = G and type G.V.t = G.V.t
module type GRAPH = sig ... end
module MakeGraph : functor (V : VERTEX) -> GRAPH with type V.t = V.t