pub struct WorkerPool { /* private fields */ }Expand description
A pool of workers for parallel event processing
Implementations§
Source§impl WorkerPool
impl WorkerPool
Sourcepub fn new<F>(config: WorkerPoolConfig, processor: F) -> Self
pub fn new<F>(config: WorkerPoolConfig, processor: F) -> Self
Create a new worker pool with the given configuration
Sourcepub async fn submit(
&self,
event: Event,
partition_key: &str,
) -> Result<(), PoolBackpressureError>
pub async fn submit( &self, event: Event, partition_key: &str, ) -> Result<(), PoolBackpressureError>
Submit an event to the pool with a partition key
Sourcepub fn queue_depth(&self) -> usize
pub fn queue_depth(&self) -> usize
Get current queue depth
Sourcepub async fn metrics(&self) -> WorkerPoolMetrics
pub async fn metrics(&self) -> WorkerPoolMetrics
Get pool metrics
Sourcepub async fn worker_statuses(&self) -> Vec<WorkerStatus>
pub async fn worker_statuses(&self) -> Vec<WorkerStatus>
Get status of all workers
Sourcepub const fn config(&self) -> &WorkerPoolConfig
pub const fn config(&self) -> &WorkerPoolConfig
Get pool configuration
Trait Implementations§
Source§impl Debug for WorkerPool
impl Debug for WorkerPool
Auto Trait Implementations§
impl !Freeze for WorkerPool
impl !RefUnwindSafe for WorkerPool
impl Send for WorkerPool
impl Sync for WorkerPool
impl Unpin for WorkerPool
impl UnsafeUnpin for WorkerPool
impl !UnwindSafe 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
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 more