WeaviateEx.Config.Timeout (WeaviateEx v0.7.4)

View Source

Timeout configuration for Weaviate client operations.

Provides different timeout values for different operation types:

  • :init - Connection initialization (default: 2s)
  • :query - Search and read operations (default: 30s)
  • :insert - Write and batch operations (default: 90s)

Examples

# Use default timeouts
timeout = Timeout.new()

# Custom timeouts
timeout = Timeout.new(
  init: 5_000,
  query: 60_000,
  insert: 120_000
)

# Get timeout for specific method
Timeout.for_method(timeout, :get)
# => 30_000

Summary

Functions

Get timeout for HTTP method.

Get timeout for operation type.

Create a new timeout configuration.

Types

t()

@type t() :: %WeaviateEx.Config.Timeout{
  init: pos_integer(),
  insert: pos_integer(),
  query: pos_integer()
}

Functions

for_method(timeout, arg2)

@spec for_method(t(), atom()) :: pos_integer()

Get timeout for HTTP method.

  • :init - Returns init timeout
  • :get - Returns query timeout
  • :post, :put, :patch, :delete - Returns insert timeout

Examples

iex> timeout = Timeout.new()
iex> Timeout.for_method(timeout, :get)
30000

iex> Timeout.for_method(timeout, :post)
90000

for_operation(timeout, op)

@spec for_operation(t(), atom()) :: pos_integer()

Get timeout for operation type.

  • :search, :query, :aggregate - Returns query timeout
  • :insert, :update, :batch - Returns insert timeout

Examples

iex> timeout = Timeout.new()
iex> Timeout.for_operation(timeout, :search)
30000

iex> Timeout.for_operation(timeout, :batch)
90000

new(opts \\ [])

@spec new(keyword()) :: t()

Create a new timeout configuration.

Options

  • :init - Connection initialization timeout in milliseconds (default: 2000)
  • :query - Query/search timeout in milliseconds (default: 30000)
  • :insert - Insert/batch timeout in milliseconds (default: 90000)

Examples

iex> Timeout.new()
%Timeout{init: 2000, query: 30000, insert: 90000}

iex> Timeout.new(query: 60_000)
%Timeout{init: 2000, query: 60000, insert: 90000}