#[non_exhaustive]pub struct ExecutionSnapshot {Show 14 fields
pub execution_id: ExecutionId,
pub flow_id: Option<FlowId>,
pub lane_id: LaneId,
pub namespace: Namespace,
pub public_state: PublicState,
pub blocking_reason: Option<String>,
pub blocking_detail: Option<String>,
pub current_attempt: Option<AttemptSummary>,
pub current_lease: Option<LeaseSummary>,
pub current_waitpoint: Option<WaitpointId>,
pub created_at: TimestampMs,
pub last_mutation_at: TimestampMs,
pub total_attempt_count: u32,
pub tags: BTreeMap<String, String>,
}Expand description
Engine-decoupled read-model for one execution.
Returned by ff_sdk::FlowFabricWorker::describe_execution. Consumers
consult this struct instead of reaching into Valkey’s exec_core hash
directly — the engine is free to rename fields or restructure storage
under this surface.
#[non_exhaustive] — FF may add fields in minor releases without a
semver break. Match with .. or use field-by-field construction.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.execution_id: ExecutionId§flow_id: Option<FlowId>§lane_id: LaneId§namespace: Namespace§public_state: PublicState§blocking_reason: Option<String>Blocking reason string (e.g. "waiting_for_worker",
"waiting_for_delay", "waiting_for_dependencies"). None when
the exec_core field is empty.
blocking_detail: Option<String>Free-form operator-readable detail explaining blocking_reason.
None when the exec_core field is empty.
current_attempt: Option<AttemptSummary>Summary of the execution’s currently-active attempt. None when
no attempt has been started (pre-claim) or when the exec_core
attempt fields are all empty.
current_lease: Option<LeaseSummary>Summary of the execution’s currently-held lease. None when the
execution is not held by a worker.
current_waitpoint: Option<WaitpointId>The waitpoint this execution is currently suspended on, if any.
created_at: TimestampMs§last_mutation_at: TimestampMsTimestamp of the last write that mutated exec_core. Engine-maintained.
total_attempt_count: u32Caller-owned labels. The prefix ^[a-z][a-z0-9_]*\. is reserved for
consumer metadata (e.g. cairn.task_id); FF guarantees it will not
write keys matching that shape. FF’s own fields stay in snake_case
without dots. Empty when no tags are set.
Implementations§
Source§impl ExecutionSnapshot
impl ExecutionSnapshot
Sourcepub fn new(
execution_id: ExecutionId,
flow_id: Option<FlowId>,
lane_id: LaneId,
namespace: Namespace,
public_state: PublicState,
blocking_reason: Option<String>,
blocking_detail: Option<String>,
current_attempt: Option<AttemptSummary>,
current_lease: Option<LeaseSummary>,
current_waitpoint: Option<WaitpointId>,
created_at: TimestampMs,
last_mutation_at: TimestampMs,
total_attempt_count: u32,
tags: BTreeMap<String, String>,
) -> Self
pub fn new( execution_id: ExecutionId, flow_id: Option<FlowId>, lane_id: LaneId, namespace: Namespace, public_state: PublicState, blocking_reason: Option<String>, blocking_detail: Option<String>, current_attempt: Option<AttemptSummary>, current_lease: Option<LeaseSummary>, current_waitpoint: Option<WaitpointId>, created_at: TimestampMs, last_mutation_at: TimestampMs, total_attempt_count: u32, tags: BTreeMap<String, String>, ) -> Self
Construct an ExecutionSnapshot. Present so downstream crates
(ff-sdk’s describe_execution) can assemble the struct despite
the #[non_exhaustive] marker. Prefer adding builder-style
helpers here over loosening non_exhaustive.
Trait Implementations§
Source§impl Clone for ExecutionSnapshot
impl Clone for ExecutionSnapshot
Source§fn clone(&self) -> ExecutionSnapshot
fn clone(&self) -> ExecutionSnapshot
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more