pub struct WorkloadBalancer;Expand description
Selects the best worker for a given task based on affinity and load.
Implementations§
Source§impl WorkloadBalancer
impl WorkloadBalancer
Sourcepub fn assign_task(
workers: &[WorkerStatus],
requirements: &TaskRequirements,
) -> Option<NodeId>
pub fn assign_task( workers: &[WorkerStatus], requirements: &TaskRequirements, ) -> Option<NodeId>
Assign a task to the worker with the highest effective score.
Effective score = affinity × (1 - load_pct).
Returns None if no worker can satisfy the task requirements.
Auto Trait Implementations§
impl Freeze for WorkloadBalancer
impl RefUnwindSafe for WorkloadBalancer
impl Send for WorkloadBalancer
impl Sync for WorkloadBalancer
impl Unpin for WorkloadBalancer
impl UnsafeUnpin for WorkloadBalancer
impl UnwindSafe for WorkloadBalancer
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> 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