pub struct AvailableTask {
pub instance_id: Arc<str>,
pub task_id: TaskId,
pub input: Bytes,
pub workflow_definition_hash: DefinitionHash,
pub trace_parent: Option<String>,
pub snapshot: Arc<WorkflowSnapshot>,
}Expand description
Information about an available task ready for execution.
Fields§
§instance_id: Arc<str>The workflow instance ID.
task_id: TaskIdThe task ID.
input: BytesThe input data for the task (serialized).
workflow_definition_hash: DefinitionHashThe workflow definition hash.
trace_parent: Option<String>W3C traceparent header for distributed trace context propagation.
snapshot: Arc<WorkflowSnapshot>Workflow state at dispatch time. Backends decode this from the
history JOIN they already issue for the dispatch SELECT, so
passing it through lets the worker skip a separate load_snapshot
round-trip. Safe to use post-claim: nothing mutates the snapshot
blob between dispatch and execution other than the worker
itself, and signals (which don’t touch the blob) are re-checked
in the post-claim guard.
Wrapped in Arc so the dispatch loop can move the owned
snapshot in once, and so workers that lose the claim race drop
their copy cheaply (refcount decrement). Only the worker that
actually executes the task pays a deep clone() — and only
when it needs a mutable working copy.
Trait Implementations§
Source§impl Clone for AvailableTask
impl Clone for AvailableTask
Source§fn clone(&self) -> AvailableTask
fn clone(&self) -> AvailableTask
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more