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§impl<'de> Deserialize<'de> for RetentionPolicywhere
RetentionPolicy: Default,
impl<'de> Deserialize<'de> for RetentionPolicywhere
RetentionPolicy: 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>,
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
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
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§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.