From 67f4a4afeec79daa81930124594ecf3131c18133 Mon Sep 17 00:00:00 2001 From: HugoCasa Date: Fri, 10 May 2024 20:23:16 +0200 Subject: [PATCH] fix(backend): return flow result if flow fails or stops before early return (#3704) * fix: return error if flow fails before early return * fix: also handle early stop * fix: improve code --- backend/windmill-api/src/jobs.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/windmill-api/src/jobs.rs b/backend/windmill-api/src/jobs.rs index e6f65deb8e..62fbd4caf2 100644 --- a/backend/windmill-api/src/jobs.rs +++ b/backend/windmill-api/src/jobs.rs @@ -2528,7 +2528,7 @@ async fn run_wait_result( w_id: String, node_id_for_empty_return: Option, ) -> error::Result { - let mut result; + let mut result = None; let timeout = SERVER_CONFIG.read().await.timeout_wait_result.clone(); let timeout_ms = if timeout <= 0 { 2000 @@ -2552,7 +2552,9 @@ async fn run_wait_result( ) .await .ok(); - } else { + } + + if result.is_none() { let row = sqlx::query( "SELECT result, language, flow_status FROM completed_job WHERE id = $1 AND workspace_id = $2", ) @@ -2570,8 +2572,6 @@ async fn run_wait_result( FormattedResult::RawValue(rv) => rv, FormattedResult::Vec(v) => Some(to_raw_value(&v)), }; - } else { - result = None; } }