From c22ca551d0a2fd0c267ed4953b5776f952e7be78 Mon Sep 17 00:00:00 2001 From: Guillaume Bouvignies Date: Wed, 8 Nov 2023 10:08:42 +0100 Subject: [PATCH] fix: Pythong script in dedicated worker fails with more than 1 arg (#2588) --- backend/windmill-worker/src/python_executor.rs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/backend/windmill-worker/src/python_executor.rs b/backend/windmill-worker/src/python_executor.rs index 313c5e4ce0..263b105527 100644 --- a/backend/windmill-worker/src/python_executor.rs +++ b/backend/windmill-worker/src/python_executor.rs @@ -840,8 +840,17 @@ pub async fn start_worker( ) = prepare_wrapper(job_dir, inner_content, script_path).await?; { - // logs.push_str(format!("infer args: {:?}\n", start.elapsed().as_micros()).as_str()); - // we cannot use Bun.read and Bun.write because it results in an EBADF error on cloud + let indented_transforms = transforms + .lines() + .map(|x| format!(" {}", x)) + .collect::>() + .join("\n"); + let indented_spread = spread + .lines() + .map(|x| format!(" {}", x)) + .collect::>() + .join("\n"); + let wrapper_content: String = format!( r#" import json @@ -865,8 +874,8 @@ sys.stdout.write('start\n') for line in sys.stdin: kwargs = json.loads(line, strict=False) args = {{}} - {transforms} - {spread} +{indented_transforms} +{indented_spread} for k, v in list(args.items()): if v == '': del args[k]