Up

Module Parallel

See README for more details

Signature

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 Heartbeater : sig .. end
A Heartbeater.t is an Rpc server only used for heartbeats.
module type Worker = sig .. end
module type Functions = sig .. end
module type Creator = sig .. end
module type Worker_spec = sig .. end
Specification for the creation of a worker type
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 -> 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.

module State : sig .. end
Use State.get to query whether the current process has been initialized as an rpc parallel master (start_app or init_master_exn has been called).
module Expert : sig .. end
If you want more direct control over your executable, you can use the Expert module instead of start_app.