package devkit

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Devkit_core.ParallelSource

Parallel

Sourceval invoke : ('a -> 'b) -> 'a -> unit -> 'b

Invoke function in a forked process and return result

Sourceval launch_forks : ('a -> unit) -> 'a list -> unit

Launch function for each element of the list in the forked process. Does not wait for children to finish - returns immediately.

Sourceval run_forks : ?wait_stop:int -> ?revive:bool -> ?wait:int -> ?workers:int -> ('a -> unit) -> 'a list -> unit

Launch forks for each element of the list and wait for all workers to finish. Pass exit signals to the workers, see Forks.stop for the description of wait_stop parameter.

  • parameter revive

    to keep workers running (restarting with same param if exited) default: false

Sourceval run_forks' : ('a -> unit) -> 'a list -> unit

Same as run_forks but do not fork for one worker

Sourceval run_workers : int -> ?wait_stop:int -> ('a -> unit) -> 'a list -> unit

Process list with specified number of workers. Pass exit signals to the workers, see Forks.stop for the description of wait_stop parameter.

Sourceval run_workers_enum : int -> ?wait_stop:int -> ('a -> 'b) -> ('b -> unit) -> 'a Enum.t -> unit

Process enum with specified number of workers, collect results via provided callback. Pass exit signals to the workers, see Forks.stop for the description of wait_stop parameter.

Sourcemodule type WorkerT = sig ... end
Sourcemodule type Workers = sig ... end
Sourcemodule Forks (T : WorkerT) : Workers with type task = T.task and type result = T.result

Forked workers

Sourcemodule Services : sig ... end
OCaml

Innovation. Community. Security.