use crate::db::ExtractionTaskKind;
mod enqueue;
mod exhaust;
mod lifecycle;
mod loaders;
pub use enqueue::*;
pub use lifecycle::*;
pub const EXTRACTION_TASK_MAX_ATTEMPTS: i64 = 5;
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ExtractionTask {
pub id: i64,
pub task_kind: ExtractionTaskKind,
pub host_id: i64,
pub workspace_id: i64,
pub project_id: i64,
pub session_row_id: Option<i64>,
pub host: String,
pub project: String,
pub session_id: Option<String>,
pub ai_profile: Option<String>,
pub priority: i64,
pub cursor_event_id: Option<i64>,
pub high_watermark_event_id: Option<i64>,
pub attempts: i64,
pub replay_range_id: Option<i64>,
}
#[cfg(test)]
mod retry_regression_tests;
#[cfg(test)]
mod tests;