Anvil.Schema.Assignment (Anvil v0.1.1)
View SourceEcto schema for labeling assignments.
Tracks the lifecycle of a sample assigned to a labeler, including status transitions, deadlines, and optimistic locking.
Summary
Functions
Marks an assignment as completed.
Requeues an assignment after timeout.
Reserves an assignment for a labeler with a timeout.
Marks an assignment as skipped.
Marks an assignment as timed out.
Types
@type t() :: %Anvil.Schema.Assignment{ __meta__: term(), deadline: DateTime.t() | nil, id: Ecto.UUID.t() | nil, inserted_at: DateTime.t() | nil, labeler: Anvil.Schema.Labeler.t() | Ecto.Association.NotLoaded.t() | nil, labeler_id: Ecto.UUID.t() | nil, labels: [Anvil.Schema.Label.t()] | Ecto.Association.NotLoaded.t(), queue: Anvil.Schema.Queue.t() | Ecto.Association.NotLoaded.t() | nil, queue_id: Ecto.UUID.t() | nil, requeue_attempts: integer(), requeue_delay_until: DateTime.t() | nil, reserved_at: DateTime.t() | nil, sample_id: Ecto.UUID.t() | nil, skip_reason: String.t() | nil, status: :pending | :reserved | :completed | :timed_out | :requeued | :skipped, timeout_seconds: integer() | nil, updated_at: DateTime.t() | nil, version: integer() }
Functions
Marks an assignment as completed.
Requeues an assignment after timeout.
Reserves an assignment for a labeler with a timeout.
Marks an assignment as skipped.
Marks an assignment as timed out.