pub struct WorkerPool { /* private fields */ }Expand description
A pool of concurrent worker tasks.
Call spawn() to start all workers. The returned handles can be awaited
or aborted by the caller (e.g. on shutdown signal).
Implementations§
Source§impl WorkerPool
impl WorkerPool
pub fn new(backend: Arc<dyn StateBackend>) -> Self
Sourcepub fn with_group(self, group: WorkerGroupConfig) -> Self
pub fn with_group(self, group: WorkerGroupConfig) -> Self
Add a worker group (workers with a specific queue affinity).
Sourcepub fn with_executor(
self,
kind: impl Into<String>,
executor: Arc<dyn NodeExecutor>,
) -> Self
pub fn with_executor( self, kind: impl Into<String>, executor: Arc<dyn NodeExecutor>, ) -> Self
Register an executor for a node kind tag.
Sourcepub fn spawn(self) -> Vec<JoinHandle<()>>
pub fn spawn(self) -> Vec<JoinHandle<()>>
Spawn all worker tasks and return their join handles.
Workers run indefinitely until their JoinHandle is aborted.
Auto Trait Implementations§
impl !RefUnwindSafe for WorkerPool
impl !UnwindSafe for WorkerPool
impl Freeze for WorkerPool
impl Send for WorkerPool
impl Sync for WorkerPool
impl Unpin for WorkerPool
impl UnsafeUnpin for WorkerPool
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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