pub struct PoolSection {Show 19 fields
pub name: String,
pub min: u32,
pub max: u32,
pub autoscale: bool,
pub scaler: ScalerSection,
pub lease_ttl_s: f64,
pub max_pending: Option<usize>,
pub overflow: Overflow,
pub retry: Option<RetrySection>,
pub default_duration_s: Option<f64>,
pub reservable_fraction: Option<f64>,
pub await_unknown_dependencies_s: Option<f64>,
pub target_utilization: Option<f64>,
pub drain_time_s: Option<f64>,
pub cooldown_s: Option<f64>,
pub cost_per_worker_second: Option<f64>,
pub max_slots_per_worker: Option<u32>,
pub fair_share: bool,
pub tenant_weights: BTreeMap<String, f64>,
}Expand description
One pool served by remote workers.
Fields§
§name: StringPool name (1-64 characters from [A-Za-z0-9_.:-]).
min: u32Autoscaler lower bound.
max: u32Autoscaler upper bound, reservation capacity basis, and per-worker slot cap.
autoscale: boolCompute a desired capacity from queue pressure.
scaler: ScalerSectionHow the desired capacity is communicated.
lease_ttl_s: f64Remote workers must heartbeat each lease within this many seconds.
max_pending: Option<usize>Pending-task bound (default limits.max_pending_per_pool).
overflow: OverflowBehaviour when the bound is reached.
retry: Option<RetrySection>Default retry policy.
default_duration_s: Option<f64>Duration estimate when nothing is known.
reservable_fraction: Option<f64>Share of max that fixed-start reservations may occupy, in (0, 1].
await_unknown_dependencies_s: Option<f64>Allow dependencies on keys that do not exist yet (wait up to this many seconds).
target_utilization: Option<f64>Autoscaler utilization target, in (0, 1].
drain_time_s: Option<f64>Autoscaler backlog drain target.
cooldown_s: Option<f64>Autoscaler scale-down cooldown.
cost_per_worker_second: Option<f64>Cost per worker-second, for the cost metric.
max_slots_per_worker: Option<u32>Slots a single worker may register in this pool (default limits.max_slots_per_worker,
never above max).
Share the pool fairly between tenants (implied by tenant_weights).
tenant_weights: BTreeMap<String, f64>Weight of each tenant in the fair share (others weigh 1).
Implementations§
Source§impl PoolSection
impl PoolSection
Sourcepub fn slot_cap(&self, limits: &LimitsConfig) -> u32
pub fn slot_cap(&self, limits: &LimitsConfig) -> u32
Slots one worker may register in this pool.
Sourcepub fn to_pool_config(&self, limits: &LimitsConfig) -> PoolConfig
pub fn to_pool_config(&self, limits: &LimitsConfig) -> PoolConfig
Engine configuration. Assumes Config::validate passed.
Trait Implementations§
Source§impl Clone for PoolSection
impl Clone for PoolSection
Source§impl Debug for PoolSection
impl Debug for PoolSection
Source§impl<'de> Deserialize<'de> for PoolSection
impl<'de> Deserialize<'de> for PoolSection
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for PoolSection
impl RefUnwindSafe for PoolSection
impl Send for PoolSection
impl Sync for PoolSection
impl Unpin for PoolSection
impl UnsafeUnpin for PoolSection
impl UnwindSafe for PoolSection
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> ⓘ
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> ⓘ
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>
T in a tonic::Request