pub struct TaskStoreConfig {
pub max_capacity: Option<usize>,
pub task_ttl: Option<Duration>,
pub eviction_interval: u64,
pub max_page_size: u32,
}Expand description
Configuration for InMemoryTaskStore.
Fields§
§max_capacity: Option<usize>Maximum number of tasks to keep in the store. Once exceeded, the oldest
terminal (completed/failed/canceled/rejected) tasks are evicted first.
None means no limit.
Overload behavior: if the overflow cannot be covered by terminal
tasks alone, the oldest non-terminal tasks are evicted as a last
resort — bounded memory is prioritized over retaining in-flight rows.
An evicted in-flight task answers GetTask with task-not-found until
its next event is persisted (the background processor re-saves it),
so under sustained over-capacity write pressure the cap is a strong
bound on steady-state size, not an absolute invariant. Size
max_capacity above the realistic concurrent in-flight task count.
task_ttl: Option<Duration>Time-to-live for completed or failed tasks. Tasks in terminal states
older than this duration are evicted on the next write operation.
None means no TTL-based eviction.
eviction_interval: u64Number of writes between automatic eviction sweeps. Default: 64.
Amortizes the O(n) eviction cost so it doesn’t run on every single save().
max_page_size: u32Maximum allowed page size for list queries. Default: 1000.
Larger requested page sizes are clamped to this limit.
Trait Implementations§
Source§impl Clone for TaskStoreConfig
impl Clone for TaskStoreConfig
Source§fn clone(&self) -> TaskStoreConfig
fn clone(&self) -> TaskStoreConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TaskStoreConfig
impl Debug for TaskStoreConfig
Source§impl Default for TaskStoreConfig
impl Default for TaskStoreConfig
Source§fn default() -> TaskStoreConfig
fn default() -> TaskStoreConfig
Auto Trait Implementations§
impl Freeze for TaskStoreConfig
impl RefUnwindSafe for TaskStoreConfig
impl Send for TaskStoreConfig
impl Sync for TaskStoreConfig
impl Unpin for TaskStoreConfig
impl UnsafeUnpin for TaskStoreConfig
impl UnwindSafe for TaskStoreConfig
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,
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