LanceDB.Job (LanceDB v0.2.0)

Copy Markdown View Source

A shareable native index job. Jobs continue if the caller exits or the handle is garbage collected. Use cancel/1 explicitly; cancellation is best effort and does not undo a completed index. A job holds a write admission slot until it completes. Waiting with a deadline does not cancel the job.

Summary

Functions

Requests cancellation. Call wait/2 to observe the terminal result.

Returns the native status: running, finished, failed, or cancelled.

Waits for completion, returning {:ok, :created} or the job's terminal error. :timeout_ms is nil (wait indefinitely) or a non-negative uint32 millisecond count; zero checks without waiting. A timeout bounds this wait and leaves the job running. Native waits use Tokio and reply without retaining a BEAM scheduler. A completed result is available to subsequent waits.

Types

t()

@opaque t()

Functions

cancel(job)

@spec cancel(t()) :: LanceDB.result(:ok)

Requests cancellation. Call wait/2 to observe the terminal result.

status(job)

@spec status(t()) :: LanceDB.result(String.t())

Returns the native status: running, finished, failed, or cancelled.

wait(job, opts \\ [])

@spec wait(t(), keyword()) :: LanceDB.result(:created)

Waits for completion, returning {:ok, :created} or the job's terminal error. :timeout_ms is nil (wait indefinitely) or a non-negative uint32 millisecond count; zero checks without waiting. A timeout bounds this wait and leaves the job running. Native waits use Tokio and reply without retaining a BEAM scheduler. A completed result is available to subsequent waits.