Skip to main content

reifydb_core/lifecycle/
task.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2026 ReifyDB
3
4use reifydb_value::value::duration::Duration;
5
6use crate::lifecycle::{class::RetentionClass, progress::Progress};
7
8pub trait LifecycleTask: Send + 'static {
9	fn name(&self) -> &'static str;
10
11	fn interval(&self) -> Duration;
12
13	fn classes(&self) -> &'static [RetentionClass];
14
15	fn run_slice(&mut self) -> Progress;
16}