Module Make.Shutdown_on

Parameters

Signature

type _ t =
| Connection_closed : (connection_state_init_arg:connection_state_init_arg -> Connection.t M.t Async.Deferred.t) t

An initial connection to the worker is established. The worker shuts itself down when Rpc.Connection.close_finished on this connection, which is likely when the master process exits or explicitly calls Rpc.Connection.close, but can also result from network problems or long async cycles.

| Heartbeater_connection_timeout : worker M.t Async.Deferred.t t

A "heartbeater" connection is established between the worker and its master. The worker shuts itself down when Rpc.Connection.close_finished on this connection, which is likely when the master process exits, but can also result from network problems or long async cycles.

| Called_shutdown_function : worker M.t Async.Deferred.t t

WARNING! Worker's spawned with this variant do not shutdown when the master process exits. The worker only shuts itself down on an explicit shutdown request.