Up

Module Parallel = Parallel

Signature

module Remote_executable : sig .. end
This module is used to transfer the currently running executable to a remote machine
module Fd_redirection : sig .. end
module Function : sig .. end
A ('worker, 'query, 'response) Function.t is a type-safe function 'query -> 'response Deferred.t that can only be run on a 'worker.
module type Creator = sig .. end
module type Functions = sig .. end
module type Worker = sig .. end
module type Worker_spec = sig .. end
Specification for the creation of a worker type
module Make_worker (S : Worker_spec) : Worker with type 'a functions := 'a S.functions with type init_arg := S.init_arg
module Worker = Make_worker(T)
val start_app : ?rpc_max_message_size:int -> ?rpc_handshake_timeout:Core.Std.Time.Span.t -> ?rpc_heartbeat_config:Async.Std.Rpc.Connection.Heartbeat_config.t -> ?where_to_listen:Async.Std.Tcp.Where_to_listen.inet -> ?implementations:unit Async.Std.Rpc.Implementation.t list -> Async.Std.Command.t -> unit

start_app command should be called from the top-level in order to start the parallel application. command must be constructed with a call to Command.async so that the Async scheduler is started. This function will parse certain environment variables and determine whether to start as a master or a worker.

rpc_max_message_size, rpc_heartbeat_config, where_to_listen specify the RPC server that the master starts.

implementations are additional implementations that the master will implement.

module State : sig .. end
Use State.get to query whether start_app was used.
module Expert : sig .. end
If you want more direct control over your executable, you can use the Expert module instead of start_app.