Skip to main content

remem/db/
extraction.rs

1use crate::db::ExtractionTaskKind;
2
3mod enqueue;
4mod exhaust;
5mod lifecycle;
6mod loaders;
7
8pub use enqueue::*;
9pub use lifecycle::*;
10
11pub const EXTRACTION_TASK_MAX_ATTEMPTS: i64 = 5;
12
13#[derive(Debug, Clone, PartialEq, Eq)]
14pub struct ExtractionTask {
15    pub id: i64,
16    pub task_kind: ExtractionTaskKind,
17    pub host_id: i64,
18    pub workspace_id: i64,
19    pub project_id: i64,
20    pub session_row_id: Option<i64>,
21    pub host: String,
22    pub project: String,
23    pub session_id: Option<String>,
24    pub ai_profile: Option<String>,
25    pub priority: i64,
26    pub cursor_event_id: Option<i64>,
27    pub high_watermark_event_id: Option<i64>,
28    pub attempts: i64,
29    pub replay_range_id: Option<i64>,
30}
31
32#[cfg(test)]
33mod retry_regression_tests;
34#[cfg(test)]
35mod tests;