pub struct TaskHookRegistry { /* private fields */ }Available on crate feature
tasks only.Expand description
Registry for task hooks
Allows multiple hooks to be registered and called in sequence.
Implementations§
Source§impl TaskHookRegistry
impl TaskHookRegistry
Sourcepub fn new() -> TaskHookRegistry
pub fn new() -> TaskHookRegistry
Create an empty registry
Sourcepub fn with_logging() -> TaskHookRegistry
pub fn with_logging() -> TaskHookRegistry
Create a registry with default logging hooks
Sourcepub async fn before_execute(&self, ctx: &TaskHookContext)
pub async fn before_execute(&self, ctx: &TaskHookContext)
Call before_execute on all registered hooks
Sourcepub async fn after_execute(&self, ctx: &TaskHookContext, result: &str)
pub async fn after_execute(&self, ctx: &TaskHookContext, result: &str)
Call after_execute on all registered hooks
Sourcepub async fn on_failure(
&self,
ctx: &TaskHookContext,
error: &str,
) -> RetryDecision
pub async fn on_failure( &self, ctx: &TaskHookContext, error: &str, ) -> RetryDecision
Call on_failure on all hooks, returning the first non-default decision
Sourcepub async fn on_timeout(&self, ctx: &TaskHookContext) -> RetryDecision
pub async fn on_timeout(&self, ctx: &TaskHookContext) -> RetryDecision
Call on_timeout on all hooks
Sourcepub async fn on_cancelled(&self, ctx: &TaskHookContext)
pub async fn on_cancelled(&self, ctx: &TaskHookContext)
Call on_cancelled on all hooks
Sourcepub async fn should_retry(&self, ctx: &TaskHookContext, error: &str) -> bool
pub async fn should_retry(&self, ctx: &TaskHookContext, error: &str) -> bool
Check if any hook wants to prevent retry
Trait Implementations§
Source§impl Clone for TaskHookRegistry
impl Clone for TaskHookRegistry
Source§fn clone(&self) -> TaskHookRegistry
fn clone(&self) -> TaskHookRegistry
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Default for TaskHookRegistry
impl Default for TaskHookRegistry
Source§fn default() -> TaskHookRegistry
fn default() -> TaskHookRegistry
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for TaskHookRegistry
impl !RefUnwindSafe for TaskHookRegistry
impl Send for TaskHookRegistry
impl Sync for TaskHookRegistry
impl Unpin for TaskHookRegistry
impl UnsafeUnpin for TaskHookRegistry
impl !UnwindSafe for TaskHookRegistry
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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 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>
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 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>
Wrap the input message
T in a tonic::Request