pub struct BatchItem<D>{
pub id: String,
pub data: D,
pub status: BatchItemStatus,
pub error: Option<String>,
pub duration_ms: Option<u64>,
pub size_bucket: SizeBucket,
pub trace_ctx: Option<TraceCtx>,
pub attempt_id: Option<AttemptId>,
pub trial_id: Option<TrialId>,
}Expand description
A single item within a batch job.
The data field carries user-defined per-item payload (e.g. file path,
image ID, document reference). It must be serializable for event emission.
§Trace context
Optional trace_ctx propagates cross-crate observability context from
stack-ids. The attempt_id identifies the logical retry family for this
batch-item (distinct from any outer job-level retry). The trial_id tracks
each concrete execution attempt within that family.
Fields§
§id: StringUnique identifier for this item within the batch.
data: DUser-defined data payload.
status: BatchItemStatusCurrent processing status.
error: Option<String>Error message if status is Failed.
duration_ms: Option<u64>Processing duration in milliseconds (set after completion).
size_bucket: SizeBucketSize bucket for ETA estimation.
trace_ctx: Option<TraceCtx>Cross-crate trace context for observability propagation.
attempt_id: Option<AttemptId>Logical retry family for this batch-item.
One AttemptId per retry-owner boundary. Batch-item retries (via
retry_failed) produce new TrialIds under the same AttemptId,
keeping them distinguishable from outer job-level retries.
trial_id: Option<TrialId>Concrete execution identifier within the current retry family.
Minted fresh on each processing attempt. Allows correlating logs, metrics, and errors to a specific execution without ambiguity.