Jido.Messaging.InstanceReconnectWorker (Jido Messaging v1.0.0)

Copy Markdown View Source

Per-instance lifecycle worker that runs connection probes and reconnect policy.

The worker performs periodic health probes and schedules bounded reconnect attempts on recoverable failures. When retries are exhausted, it exits so the enclosing supervisor can apply restart intensity policy.

Summary

Functions

Returns a specification to start this module under a supervisor.

Types

state()

@type state() :: %{
  instance_module: module(),
  instance: Jido.Messaging.Instance.t(),
  instance_server: pid(),
  channel_module: module() | nil,
  phase: :starting | :connected | :disconnected | :reconnecting | :degraded,
  probe_interval_ms: pos_integer(),
  max_reconnect_attempts: pos_integer(),
  reconnect_base_backoff_ms: pos_integer(),
  reconnect_max_backoff_ms: pos_integer(),
  reconnect_jitter_ratio: float(),
  current_attempt: non_neg_integer(),
  reconnect_reason: term() | nil,
  reconnect_started_at_ms: integer() | nil,
  timer_ref: reference() | nil
}

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

start_link(opts)

@spec start_link(keyword()) :: GenServer.on_start()