From 3721f13bec9f3d6f35feded1fe975cee30ea2cfe Mon Sep 17 00:00:00 2001 From: Diego Imbert Date: Fri, 6 Mar 2026 18:04:41 +0100 Subject: [PATCH] fix debounce key --- backend/windmill-worker/src/worker_flow.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/backend/windmill-worker/src/worker_flow.rs b/backend/windmill-worker/src/worker_flow.rs index 70b4eeb1b9..d0e1a29b27 100644 --- a/backend/windmill-worker/src/worker_flow.rs +++ b/backend/windmill-worker/src/worker_flow.rs @@ -3352,14 +3352,22 @@ async fn push_next_flow_job( scheduled_for_o = scheduled_for_o.or(Some( chrono::Utc::now() + chrono::Duration::seconds(delay as i64), )); - let key = debouncing.debounce_key.clone().unwrap_or_else(|| { + let key = if let Some(custom_key) = debouncing.debounce_key.clone() { + // Interpolate $workspace and $args[...] in the custom key + if let Ok(ref args_map) = args { + let push_args = PushArgs::from(args_map.as_ref()); + interpolate_args(custom_key, &push_args, &flow_job.workspace_id) + } else { + custom_key.replace("$workspace", &flow_job.workspace_id) + } + } else { format!( "{}/{}/{}", &flow_job.workspace_id, flow_job.runnable_path(), &module.id ) - }); + }; let key = if key.len() <= 255 { key } else {