pub struct RetentionPolicy {
pub ttl_completed_secs: u64,
pub ttl_failed_secs: u64,
pub max_executions: u64,
pub max_journal_bytes: u64,
pub prune_batch_size: u64,
pub prune_interval_secs: u64,
pub stale_running_after_secs: u64,
}Expand description
Journal retention and compaction policy ([durable.retention]).
Drives the background prune sweep, which never runs on the dispatch hot path.
§Examples
use zeph_config::RetentionPolicy;
let policy = RetentionPolicy::default();
assert_eq!(policy.ttl_completed_secs, 604_800); // 7 days
assert_eq!(policy.ttl_failed_secs, 2_592_000); // 30 daysFields§
§ttl_completed_secs: u64Prune completed executions older than this, in seconds.
ttl_failed_secs: u64Prune failed or aborted executions older than this, in seconds.
max_executions: u64LRU cap on the number of stored executions.
max_journal_bytes: u64Size cap on the journal in bytes; exceeding it triggers an LRU sweep.
prune_batch_size: u64Rows deleted per transaction during a prune sweep; the task yields between batches.
prune_interval_secs: u64Background prune poll interval, in seconds.
stale_running_after_secs: u64Crash-orphan threshold, in seconds (#6254): a status='running' row whose updated_at
is older than this becomes a sweep candidate, subject to an INV-15 flock liveness check
before it is aborted. 0 disables the sweep entirely.
Trait Implementations§
Source§impl Clone for RetentionPolicy
impl Clone for RetentionPolicy
Source§fn clone(&self) -> RetentionPolicy
fn clone(&self) -> RetentionPolicy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RetentionPolicy
impl Debug for RetentionPolicy
Source§impl Default for RetentionPolicy
impl Default for RetentionPolicy
Source§fn default() -> RetentionPolicy
fn default() -> RetentionPolicy
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for RetentionPolicywhere
RetentionPolicy: Default,
impl<'de> Deserialize<'de> for RetentionPolicywhere
RetentionPolicy: Default,
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<RetentionPolicy, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RetentionPolicy, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for RetentionPolicy
Source§impl PartialEq for RetentionPolicy
impl PartialEq for RetentionPolicy
Source§impl Serialize for RetentionPolicy
impl Serialize for RetentionPolicy
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for RetentionPolicy
Auto Trait Implementations§
impl Freeze for RetentionPolicy
impl RefUnwindSafe for RetentionPolicy
impl Send for RetentionPolicy
impl Sync for RetentionPolicy
impl Unpin for RetentionPolicy
impl UnsafeUnpin for RetentionPolicy
impl UnwindSafe for RetentionPolicy
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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 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>
Wrap the input message
T in a tonic::Request