pub struct LimitsConfig {Show 21 fields
pub max_tasks_per_batch: usize,
pub max_pending_total: usize,
pub max_pending_per_pool: usize,
pub max_message_bytes: usize,
pub max_http_body_bytes: usize,
pub max_key_len: usize,
pub max_kind_len: usize,
pub max_tags: usize,
pub max_tag_len: usize,
pub max_deps: usize,
pub max_resources: usize,
pub max_wait_s: f64,
pub request_timeout_s: f64,
pub max_concurrent_requests: usize,
pub max_concurrent_streams: u32,
pub max_slots_per_worker: u32,
pub keepalive_interval_s: f64,
pub keepalive_timeout_s: f64,
pub key_retention_s: f64,
pub key_retention_max: usize,
pub max_list: usize,
}Expand description
Request and resource limits (defaults are safe for a shared deployment).
Fields§
§max_tasks_per_batch: usizeTasks per SubmitBatch call.
max_pending_total: usizePending tasks across all pools.
max_pending_per_pool: usizeDefault per-pool pending bound (overridable per pool with max_pending).
max_message_bytes: usizeLargest gRPC message accepted or sent (payloads and outputs ride in these).
max_http_body_bytes: usizeLargest HTTP request body.
max_key_len: usizeLongest task key.
max_kind_len: usizeLongest task kind.
Most tags per task.
max_tag_len: usizeLongest tag key or value.
max_deps: usizeMost dependencies per task.
max_resources: usizeMost resource entries per task.
max_wait_s: f64Longest server-side wait for a task result (Wait, Submit{wait}).
request_timeout_s: f64Timeout for any other request.
max_concurrent_requests: usizeRequests processed concurrently per listener (excess requests queue).
max_concurrent_streams: u32HTTP/2 streams per connection.
max_slots_per_worker: u32Slots a single worker may register (also capped by the pool’s max).
keepalive_interval_s: f64HTTP/2 keepalive ping interval (evicts half-open workers and clients).
keepalive_timeout_s: f64HTTP/2 keepalive ping timeout.
key_retention_s: f64How long a finished task’s key keeps deduplicating submissions: resubmitting it returns the finished task (and its stored output). Also how far back a new leader loads finished tasks from the store.
key_retention_max: usizeMost finished tasks kept for key deduplication (bounds memory).
max_list: usizeMost tasks one ListTasks page returns.
Implementations§
Source§impl LimitsConfig
impl LimitsConfig
Sourcepub fn key_retention(&self) -> Duration
pub fn key_retention(&self) -> Duration
key_retention_s as a duration.
Sourcepub fn request_timeout(&self) -> Duration
pub fn request_timeout(&self) -> Duration
request_timeout_s as a duration.
Sourcepub fn keepalive_interval(&self) -> Duration
pub fn keepalive_interval(&self) -> Duration
keepalive_interval_s as a duration.
Sourcepub fn keepalive_timeout(&self) -> Duration
pub fn keepalive_timeout(&self) -> Duration
keepalive_timeout_s as a duration.
Trait Implementations§
Source§impl Clone for LimitsConfig
impl Clone for LimitsConfig
Source§impl Debug for LimitsConfig
impl Debug for LimitsConfig
Source§impl Default for LimitsConfig
impl Default for LimitsConfig
Source§impl<'de> Deserialize<'de> for LimitsConfigwhere
LimitsConfig: Default,
impl<'de> Deserialize<'de> for LimitsConfigwhere
LimitsConfig: Default,
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 LimitsConfig
impl RefUnwindSafe for LimitsConfig
impl Send for LimitsConfig
impl Sync for LimitsConfig
impl Unpin for LimitsConfig
impl UnsafeUnpin for LimitsConfig
impl UnwindSafe for LimitsConfig
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