Module MakeGraph.Parallel
val iter : jobs:int -> command:(pred:(G.V.t * 'a) list -> G.V.t -> 'a OpamProcess.job) -> ?dry_run:bool -> ?mutually_exclusive:G.V.t list list -> G.t -> unit
Runs the job
command ~pred v
for every nodev
in a graph, in topological order, usingjobs
concurrent processes.pred
is the associative list of job results on direct predecessors ofv
.
val map : jobs:int -> command:(pred:(G.V.t * 'a) list -> G.V.t -> 'a OpamProcess.job) -> ?dry_run:bool -> ?mutually_exclusive:G.V.t list list -> G.t -> (G.V.t * 'a) list
Same as
iter
, but returns the results of all jobs as avertex,result
associative list
exception
Errors of G.V.t list * (G.V.t * exn) list * G.V.t list
Raised when the
command
functions raised exceptions. Parameters are (successfully traversed nodes, exception nodes and corresponding exceptions, remaining nodes that weren't traversed)
exception
Cyclic of G.V.t list list
Raised when the graph to traverse has cycles. Returns the cycles found.