pub struct ActivityOptions {
pub activity_id: Option<String>,
pub task_queue: Option<String>,
pub schedule_to_start_timeout: Option<Duration>,
pub start_to_close_timeout: Option<Duration>,
pub schedule_to_close_timeout: Option<Duration>,
pub heartbeat_timeout: Option<Duration>,
pub cancellation_type: ActivityCancellationType,
pub retry_policy: Option<RetryPolicy>,
pub summary: Option<String>,
pub priority: Option<Priority>,
pub do_not_eagerly_execute: bool,
}Expand description
Options for scheduling an activity
Fields§
§activity_id: Option<String>Identifier to use for tracking the activity in Workflow history.
The activityId can be accessed by the activity function.
Does not need to be unique.
If None use the context’s sequence number
task_queue: Option<String>Task queue to schedule the activity in
If None, use the same task queue as the parent workflow.
schedule_to_start_timeout: Option<Duration>Time that the Activity Task can stay in the Task Queue before it is picked up by a Worker.
Do not specify this timeout unless using host specific Task Queues for Activity Tasks are
being used for routing.
schedule_to_start_timeout is always non-retryable.
Retrying after this timeout doesn’t make sense as it would just put the Activity Task back
into the same Task Queue.
start_to_close_timeout: Option<Duration>Maximum time of a single Activity execution attempt.
Note that the Temporal Server doesn’t detect Worker process failures directly.
It relies on this timeout to detect that an Activity that didn’t complete on time.
So this timeout should be as short as the longest possible execution of the Activity body.
Potentially long running Activities must specify heartbeat_timeout and heartbeat from the
activity periodically for timely failure detection.
Either this option or schedule_to_close_timeout is required.
schedule_to_close_timeout: Option<Duration>Total time that a workflow is willing to wait for Activity to complete.
schedule_to_close_timeout limits the total time of an Activity’s execution including
retries (use start_to_close_timeout to limit the time of a single attempt).
Either this option or start_to_close_timeout is required.
heartbeat_timeout: Option<Duration>Heartbeat interval. Activity must heartbeat before this interval passes after a last heartbeat or activity start.
cancellation_type: ActivityCancellationTypeDetermines what the SDK does when the Activity is cancelled.
retry_policy: Option<RetryPolicy>Activity retry policy
summary: Option<String>Summary of the activity
priority: Option<Priority>Priority for the activity
do_not_eagerly_execute: boolIf true, disable eager execution for this activity
Trait Implementations§
Source§impl Debug for ActivityOptions
impl Debug for ActivityOptions
Source§impl Default for ActivityOptions
impl Default for ActivityOptions
Source§fn default() -> ActivityOptions
fn default() -> ActivityOptions
Auto Trait Implementations§
impl Freeze for ActivityOptions
impl RefUnwindSafe for ActivityOptions
impl Send for ActivityOptions
impl Sync for ActivityOptions
impl Unpin for ActivityOptions
impl UnsafeUnpin for ActivityOptions
impl UnwindSafe for ActivityOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request