Skip to main content

AvailableTask

Struct AvailableTask 

Source
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: TaskId

The task ID.

§input: Bytes

The input data for the task (serialized).

§workflow_definition_hash: DefinitionHash

The 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

Source§

fn clone(&self) -> AvailableTask

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AvailableTask

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.