Jido.Browser.Pool (Jido Browser v2.1.0)

Copy Markdown View Source

Public supervised child for warm browser session pools.

Add Jido.Browser.Pool to your application's supervision tree when you want a pool to start with your app and stay available by name:

children = [
  {Jido.Browser.Pool, name: :default, size: 2, headless: true}
]

After startup, check out sessions with Jido.Browser.start_session(pool: :default).

This is the recommended production path for long-lived applications. Use Jido.Browser.start_pool/1 for scripts, tests, or ad hoc startup.

Summary

Types

Options forwarded to the underlying adapter warm pool.

Functions

Returns a supervisor child specification for a named warm pool.

Starts a warm pool under the calling supervisor.

Types

option()

@type option() ::
  {:name, atom() | {:global, term()} | {:via, module(), term()}}
  | {:size, pos_integer()}
  | {:adapter, module()}
  | {:headless, boolean()}
  | {:headed, boolean()}
  | {:timeout, pos_integer()}
  | {:checkout_timeout, pos_integer()}
  | {:startup_timeout, pos_integer()}
  | {:pool_runtime_module, module()}
  | {atom(), term()}

Options forwarded to the underlying adapter warm pool.

Functions

child_spec(opts)

@spec child_spec([option()]) :: Supervisor.child_spec()

Returns a supervisor child specification for a named warm pool.

name defaults to :default. Pool names are registry keys, so strings, atoms, and other stable terms are all supported.

start_link(opts)

@spec start_link([option()]) :: GenServer.on_start()

Starts a warm pool under the calling supervisor.

This is primarily used by OTP supervisors through the child spec. Most consumers should add {Jido.Browser.Pool, ...} to their supervision tree instead of calling start_link/1 directly.