Skip to main content

WorkflowTermination

Enum WorkflowTermination 

Source
pub enum WorkflowTermination {
    Cancelled {
        details: Option<Box<dyn WorkflowOutputValue + Send + Sync>>,
    },
    Evicted,
    ContinueAsNew(Box<ContinueAsNewWorkflowExecution>),
    Failed(OutgoingWorkflowError),
}
Expand description

Represents ways a workflow can terminate without producing a normal result.

Payload conversion errors returned by workflow operations propagated directly into WorkflowTermination, such as with ?, will fail the current Workflow Task so it can be retried.

Wrap an error in an ApplicationFailure to explicitly fail the Workflow Execution.

Variants§

§

Cancelled

The Workflow Execution was cancelled, optionally with user-supplied details.

Fields

§details: Option<Box<dyn WorkflowOutputValue + Send + Sync>>

Optional cancellation details.

§

Evicted

The workflow was evicted and must stop without producing a completion command.

§

ContinueAsNew(Box<ContinueAsNewWorkflowExecution>)

The workflow requested a new run with the supplied command attributes.

§

Failed(OutgoingWorkflowError)

The Workflow Execution failed with an error already converted for outbound handling.

Implementations§

Source§

impl WorkflowTermination

Source

pub fn cancelled() -> WorkflowTermination

Construct a cancelled workflow termination without details.

Source

pub fn cancelled_with_details<T>(details: T) -> WorkflowTermination
where T: TemporalSerializable + Send + Sync + 'static,

Construct a cancelled workflow termination with details that will be converted using the active payload converter.

Source

pub fn continue_as_new( can: ContinueAsNewWorkflowExecution, ) -> WorkflowTermination

Constructs a termination that asks the worker to continue the workflow as a new run.

Source

pub fn failed_application(err: ApplicationFailure) -> WorkflowTermination

Trait Implementations§

Source§

impl Debug for WorkflowTermination

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Display for WorkflowTermination

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Error for WorkflowTermination

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<ActivityExecutionError> for WorkflowTermination

Source§

fn from(value: ActivityExecutionError) -> WorkflowTermination

Converts to this type from the input type.
Source§

impl From<ApplicationFailure> for WorkflowTermination

Source§

fn from(value: ApplicationFailure) -> WorkflowTermination

Converts to this type from the input type.
Source§

impl From<CancelExternalWorkflowError> for WorkflowTermination

Source§

fn from(value: CancelExternalWorkflowError) -> WorkflowTermination

Converts to this type from the input type.
Source§

impl From<ChildWorkflowExecutionError> for WorkflowTermination

Source§

fn from(value: ChildWorkflowExecutionError) -> WorkflowTermination

Converts to this type from the input type.
Source§

impl From<ChildWorkflowStartError> for WorkflowTermination

Source§

fn from(value: ChildWorkflowStartError) -> WorkflowTermination

Converts to this type from the input type.
Source§

impl From<PayloadConversionError> for WorkflowTermination

Source§

fn from(value: PayloadConversionError) -> WorkflowTermination

Converts to this type from the input type.
Source§

impl From<WorkflowCancellationError> for WorkflowTermination

Source§

fn from(_value: WorkflowCancellationError) -> WorkflowTermination

Converts to this type from the input type.
Source§

impl From<WorkflowSignalError> for WorkflowTermination

Source§

fn from(value: WorkflowSignalError) -> WorkflowTermination

Converts to this type from the input type.

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> Any for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Source§

fn type_name(&self) -> &'static str

Source§

impl<T> AnySync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> WorkflowOutboundValue for T
where T: Any,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Access the concrete value through Any.
Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert this value into Any for a consuming downcast.