View Source Cluster.Strategy behaviour (libcluster v3.4.1)
This module defines the behaviour for implementing clustering strategies.
Summary
Functions
Given a list of node names, attempts to connect to all of them.
Returns :ok
if all nodes connected, or {:error, [{node, reason}, ..]}
if we failed to connect to some nodes.
Given a list of node names, attempts to disconnect from all of them.
Returns :ok
if all nodes disconnected, or {:error, [{node, reason}, ..]}
if we failed to disconnect from some nodes.
Types
Callbacks
@callback child_spec(strategy_args()) :: Supervisor.child_spec()
@callback start_link(strategy_args()) :: {:ok, pid()} | :ignore | {:error, reason :: term()}
Functions
Given a list of node names, attempts to connect to all of them.
Returns :ok
if all nodes connected, or {:error, [{node, reason}, ..]}
if we failed to connect to some nodes.
All failures are logged.
@spec disconnect_nodes(topology(), mfa_tuple(), mfa_tuple(), [atom()]) :: :ok | {:error, bad_nodes()}
Given a list of node names, attempts to disconnect from all of them.
Returns :ok
if all nodes disconnected, or {:error, [{node, reason}, ..]}
if we failed to disconnect from some nodes.
All failures are logged.