pub enum CancelFlowResult {
Cancelled {
cancellation_policy: String,
member_execution_ids: Vec<String>,
},
CancellationScheduled {
cancellation_policy: String,
member_count: u32,
member_execution_ids: Vec<String>,
},
PartiallyCancelled {
cancellation_policy: String,
member_execution_ids: Vec<String>,
failed_member_execution_ids: Vec<String>,
},
}Variants§
Cancelled
Flow cancelled and all member cancellations (if any) have completed
synchronously. Used when cancellation_policy != "cancel_all", when
the flow has no members, when the caller opted into synchronous
dispatch (e.g. ?wait=true), or when the flow was already in a
terminal state (idempotent retry).
On the idempotent-retry path member_execution_ids may be capped
at the server (default 1000 entries) to bound response bandwidth on
flows with very large membership. The first (non-idempotent) call
always returns the full list, so clients that need every member id
should persist the initial response.
CancellationScheduled
Flow state was flipped to cancelled atomically, but member
cancellations are dispatched asynchronously in the background.
Clients may poll GET /v1/executions/{id}/state for each member
execution id to track terminal state.
PartiallyCancelled
?wait=true dispatch completed but one or more member cancellations
failed mid-loop (e.g. ghost member, Lua error, transport fault after
retries exhausted). The flow itself is still flipped to cancelled
(atomic Lua already ran); callers SHOULD inspect
failed_member_execution_ids and either retry those ids directly
via cancel_execution or wait for the cancel-backlog reconciler
to retry them in the background.
Only emitted by the synchronous wait path
([crate::CancelFlowArgs] via ?wait=true). The async path returns
CancelFlowResult::CancellationScheduled and delegates retries
to the reconciler — there is no visible “partial” state on the
async path because the dispatch result is not observed inline.
Trait Implementations§
Source§impl Clone for CancelFlowResult
impl Clone for CancelFlowResult
Source§fn clone(&self) -> CancelFlowResult
fn clone(&self) -> CancelFlowResult
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more