Ecto schema recording the outcome of a single processing or maintenance operation against a media asset or variant.
A MediaProcessingRun is the audit trail for background work — variant
generation outcomes, purge results, scanner verdicts, and metadata
backfill runs. Each row captures the worker module, the affected
record, the outcome (:queued, :processing, :succeeded, :failed),
and any structured detail emitted by the operation.
Processing runs are not consulted for delivery decisions; they exist for operator visibility, retry diagnostics, and Day-2 cleanup queries.
Summary
Functions
Builds a changeset for a processing-run row.
Types
Functions
@spec changeset( t() | %Rindle.Domain.MediaProcessingRun{ __meta__: term(), asset: term(), asset_id: term(), attempt: term(), error_reason: term(), finished_at: term(), id: term(), inserted_at: term(), started_at: term(), state: term(), updated_at: term(), variant_name: term(), worker: term() }, map() ) :: Ecto.Changeset.t()
Builds a changeset for a processing-run row.
Casts the worker, lifecycle, attempt, and timing columns; requires the
minimum invariants (:asset_id, :variant_name, :worker, :state,
:attempt); validates the lifecycle state and an attempt count of at least
one.