fix: ingestion-status shows all steps done when job is completed
When a job status is 'completed', all ingestion steps are marked as 'done' regardless of node/edge counts. This fixes the UI showing pending steps for completed jobs with 0 nodes/edges (e.g., videos with single speaker).
This commit is contained in:
+13
-1
@@ -590,11 +590,23 @@ async fn get_ingestion_status(
|
||||
|
||||
let strangers = strangers;
|
||||
|
||||
// Check if job is completed - if so, all ingestion steps are considered done
|
||||
let mj_table = schema::table_name("monitor_jobs");
|
||||
let job_completed: bool = sqlx::query_scalar::<_, String>(&format!(
|
||||
"SELECT status FROM {mj_table} WHERE uuid = $1"
|
||||
))
|
||||
.bind(&file_uuid)
|
||||
.fetch_optional(pool)
|
||||
.await
|
||||
.unwrap_or(None)
|
||||
.map(|s| s == "completed")
|
||||
.unwrap_or(false);
|
||||
|
||||
macro_rules! step {
|
||||
($name:expr, $done:expr, $detail:expr) => {
|
||||
IngestionStep {
|
||||
name: $name.into(),
|
||||
status: if $done { "done" } else { "pending" }.into(),
|
||||
status: if $done || job_completed { "done" } else { "pending" }.into(),
|
||||
detail: $detail,
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user