pub struct RetryPolicy {
pub initial_interval: Option<Duration>,
pub backoff_coefficient: f64,
pub maximum_interval: Option<Duration>,
pub maximum_attempts: i32,
pub non_retryable_error_types: Vec<String>,
}Expand description
How retries ought to be handled, usable by both workflows and activities
Fields§
§initial_interval: Option<Duration>Interval of the first retry. If retryBackoffCoefficient is 1.0 then it is used for all retries.
backoff_coefficient: f64Coefficient used to calculate the next retry interval. The next retry interval is previous interval multiplied by the coefficient. Must be 1 or larger.
maximum_interval: Option<Duration>Maximum interval between retries. Exponential backoff leads to interval increase. This value is the cap of the increase. Default is 100x of the initial interval.
maximum_attempts: i32Maximum number of attempts. When exceeded the retries stop even if not expired yet. 1 disables retries. 0 means unlimited (up to the timeouts)
non_retryable_error_types: Vec<String>Non-Retryable errors types. Will stop retrying if the error type matches this list. Note that this is not a substring match, the error type (not message) must match exactly.
Trait Implementations§
Source§impl Clone for RetryPolicy
impl Clone for RetryPolicy
Source§fn clone(&self) -> RetryPolicy
fn clone(&self) -> RetryPolicy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RetryPolicy
impl Debug for RetryPolicy
Source§impl Default for RetryPolicy
impl Default for RetryPolicy
§impl<'de> Deserialize<'de> for RetryPolicy
impl<'de> Deserialize<'de> for RetryPolicy
§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Source§impl Message for RetryPolicy
impl Message for RetryPolicy
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl Name for RetryPolicy
impl Name for RetryPolicy
Source§const NAME: &'static str = "RetryPolicy"
const NAME: &'static str = "RetryPolicy"
Message.
This name is the same as it appears in the source .proto file, e.g. FooBar.Source§const PACKAGE: &'static str = "temporal.api.common.v1"
const PACKAGE: &'static str = "temporal.api.common.v1"
., e.g. google.protobuf.Source§fn full_name() -> String
fn full_name() -> String
Message.
It’s prefixed with the package name and names of any parent messages,
e.g. google.rpc.BadRequest.FieldViolation.
By default, this is the package name followed by the message name.
Fully-qualified names must be unique within a domain of Type URLs.Source§impl PartialEq for RetryPolicy
impl PartialEq for RetryPolicy
§impl Serialize for RetryPolicy
impl Serialize for RetryPolicy
impl StructuralPartialEq for RetryPolicy
Auto Trait Implementations§
impl Freeze for RetryPolicy
impl RefUnwindSafe for RetryPolicy
impl Send for RetryPolicy
impl Sync for RetryPolicy
impl Unpin for RetryPolicy
impl UnsafeUnpin for RetryPolicy
impl UnwindSafe for RetryPolicy
Blanket Implementations§
Source§impl<T> AsJsonPayloadExt for Twhere
T: Serialize,
impl<T> AsJsonPayloadExt for Twhere
T: Serialize,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FromJsonPayloadExt for Twhere
T: for<'de> Deserialize<'de>,
impl<T> FromJsonPayloadExt for Twhere
T: for<'de> Deserialize<'de>,
fn from_json_payload(payload: &Payload) -> Result<T, PayloadDeserializeErr>
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> 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::RequestSource§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
Source§impl<T> TemporalDeserializable for Twhere
T: DeserializeOwned,
impl<T> TemporalDeserializable for Twhere
T: DeserializeOwned,
Source§fn from_serde(
pc: &dyn ErasedSerdePayloadConverter,
context: &SerializationContext<'_>,
payload: Payload,
) -> Result<T, PayloadConversionError>
fn from_serde( pc: &dyn ErasedSerdePayloadConverter, context: &SerializationContext<'_>, payload: Payload, ) -> Result<T, PayloadConversionError>
Source§fn from_payload(
ctx: &SerializationContext<'_>,
payload: Payload,
) -> Result<Self, PayloadConversionError>
fn from_payload( ctx: &SerializationContext<'_>, payload: Payload, ) -> Result<Self, PayloadConversionError>
Payload.Source§fn from_payloads(
ctx: &SerializationContext<'_>,
payloads: Vec<Payload>,
) -> Result<Self, PayloadConversionError>
fn from_payloads( ctx: &SerializationContext<'_>, payloads: Vec<Payload>, ) -> Result<Self, PayloadConversionError>
Source§impl<T> TemporalSerializable for Twhere
T: Serialize,
impl<T> TemporalSerializable for Twhere
T: Serialize,
Source§fn as_serde(&self) -> Result<&dyn Serialize, PayloadConversionError>
fn as_serde(&self) -> Result<&dyn Serialize, PayloadConversionError>
Source§fn to_payload(
&self,
_: &SerializationContext<'_>,
) -> Result<Payload, PayloadConversionError>
fn to_payload( &self, _: &SerializationContext<'_>, ) -> Result<Payload, PayloadConversionError>
Payload.