From 7f49798e3fb7a2aa528388a1718fd459de19deb8 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 9 Jul 2024 07:58:17 +0200 Subject: [PATCH] fix: make dedicated workers work with dates in bun --- backend/windmill-worker/src/bun_executor.rs | 6 +++--- backend/windmill-worker/src/dedicated_worker.rs | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/backend/windmill-worker/src/bun_executor.rs b/backend/windmill-worker/src/bun_executor.rs index 1944b66ad8..3f6bbba616 100644 --- a/backend/windmill-worker/src/bun_executor.rs +++ b/backend/windmill-worker/src/bun_executor.rs @@ -1017,12 +1017,12 @@ pub async fn start_worker( .enumerate() .filter_map(|(i, x)| { if matches!(x.typ, Typ::Datetime) { - Some(i) + Some(x.name.clone()) } else { None } }) - .map(|x| return format!("args[{x}] = args[{x}] ? new Date(args[{x}]) : undefined")) + .map(|x| return format!("{x} = {x} ? new Date({x}) : undefined")) .join("\n"); let spread = args.into_iter().map(|x| x.name).join(","); @@ -1050,7 +1050,6 @@ BigInt.prototype.toJSON = function () {{ return this.toString(); }}; -{dates} console.log('start'); @@ -1062,6 +1061,7 @@ for await (const line of Readline.createInterface({{ input: process.stdin }})) { }} try {{ let {{ {spread} }} = JSON.parse(line) + {dates} let res = await Main.main(...[ {spread} ]); console.log("wm_res[success]:" + JSON.stringify(res ?? null, (key, value) => typeof value === 'undefined' ? null : value)); }} catch (e) {{ diff --git a/backend/windmill-worker/src/dedicated_worker.rs b/backend/windmill-worker/src/dedicated_worker.rs index c3c14471cd..ea50d42186 100644 --- a/backend/windmill-worker/src/dedicated_worker.rs +++ b/backend/windmill-worker/src/dedicated_worker.rs @@ -156,7 +156,7 @@ pub async fn handle_dedicated_process( logs.push_str(&line); logs.push_str("\n"); } else { - tracing::info!("dedicated worker process exited"); + tracing::info!("dedicated worker process exited {script_path}"); break; } }, @@ -165,7 +165,7 @@ pub async fn handle_dedicated_process( if let Some(line) = line.expect("line is ok") { if line == "start" { - tracing::info!("dedicated worker process started"); + tracing::info!("dedicated worker process started {script_path}"); continue; } tracing::debug!("processed job: |{line}|"); @@ -219,8 +219,8 @@ pub async fn handle_dedicated_process( child .await - .map_err(|e| anyhow::anyhow!("child process encountered an error: {e:#}"))?; - tracing::info!("dedicated worker child process exited successfully"); + .map_err(|e| anyhow::anyhow!("child process {script_path} encountered an error: {e:#}"))?; + tracing::info!("dedicated worker {script_path} child process exited successfully"); Ok(()) }