pub struct TaskManager { /* private fields */ }Expand description
Starts & tracks Tasks that implement Run
Implementations§
Source§impl TaskManager
impl TaskManager
Source§impl TaskManager
impl TaskManager
Sourcepub fn add(&mut self, name: &str, task: Arc<dyn Run>)
pub fn add(&mut self, name: &str, task: Arc<dyn Run>)
Add a task to run only once. It needs to implement its own internal repeat logic if need be.
Sourcepub fn add_interval(
&mut self,
name: &str,
task: Arc<dyn Run>,
interval: Duration,
)
pub fn add_interval( &mut self, name: &str, task: Arc<dyn Run>, interval: Duration, )
Add a task to run with a given interval. Errors are printed with a WARN level and then ignored.
Sourcepub async fn stop(&self)
pub async fn stop(&self)
Signal the tasks to stop and wait until they do. If one or more tasks aren’t acting on the token cancellation signal then this will hang forever.
Sourcepub fn token(&self) -> CancellationToken
pub fn token(&self) -> CancellationToken
Return a cancellation token that can be used to signal external tasks when TaskManager is stopping.
Auto Trait Implementations§
impl Freeze for TaskManager
impl !RefUnwindSafe for TaskManager
impl Send for TaskManager
impl Sync for TaskManager
impl Unpin for TaskManager
impl !UnwindSafe for TaskManager
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§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> 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