From b56fbdf898792c68c535ca491b79c501993173a4 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 21 May 2024 12:18:05 +0200 Subject: [PATCH] fix: improve concurrency key migration --- backend/windmill-queue/src/jobs.rs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/backend/windmill-queue/src/jobs.rs b/backend/windmill-queue/src/jobs.rs index 804e45eb13..bcef225647 100644 --- a/backend/windmill-queue/src/jobs.rs +++ b/backend/windmill-queue/src/jobs.rs @@ -1660,13 +1660,18 @@ pub async fn pull( // Else the job is subject to concurrency limits let job_script_path = pulled_job.script_path.clone().unwrap(); - let job_concurrency_key = concurrency_key(db, &pulled_job).await.unwrap_or_else(|e| { - tracing::error!( - "Could not get concurrency key for job {} defaulting to default key: {e:?}", - pulled_job.id - ); - return pulled_job.full_path_with_workspace(); - }); + let job_concurrency_key = match concurrency_key(db, &pulled_job).await { + Ok(key) => key, + Err(e) => { + tracing::error!( + "Could not get concurrency key for job {} defaulting to default key: {e:?}", + pulled_job.id + ); + legacy_concurrency_key(db, &pulled_job) + .await + .unwrap_or_else(|| pulled_job.full_path_with_workspace()) + } + }; tracing::debug!("Concurrency key is '{}'", job_concurrency_key); let job_custom_concurrent_limit = pulled_job.concurrent_limit.unwrap(); // setting concurrency_time_window to 0 will count only the currently running jobs