From eefce01f824fcadf3b9b72cb8bec7ce0fb4e2ffe Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Sat, 13 Jan 2024 13:46:36 +0100 Subject: [PATCH] add step_id to errors in flows --- backend/windmill-worker/src/bun_executor.rs | 7 ++++++- backend/windmill-worker/src/deno_executor.rs | 7 ++++++- backend/windmill-worker/src/python_executor.rs | 7 ++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/backend/windmill-worker/src/bun_executor.rs b/backend/windmill-worker/src/bun_executor.rs index 4f2679c934..6c3634953d 100644 --- a/backend/windmill-worker/src/bun_executor.rs +++ b/backend/windmill-worker/src/bun_executor.rs @@ -417,7 +417,12 @@ async function run() {{ process.exit(0); }} run().catch(async (e) => {{ - await fs.writeFile("result.json", JSON.stringify({{ message: e.message, name: e.name, stack: e.stack }})); + let err = {{ message: e.message, name: e.name, stack: e.stack }}; + let step_id = process.env.WM_FLOW_STEP_ID; + if (step_id) {{ + err["step_id"] = step_id; + }} + await fs.writeFile("result.json", JSON.stringify(err)); process.exit(1); }}); "#, diff --git a/backend/windmill-worker/src/deno_executor.rs b/backend/windmill-worker/src/deno_executor.rs index 109a559143..c0057b2343 100644 --- a/backend/windmill-worker/src/deno_executor.rs +++ b/backend/windmill-worker/src/deno_executor.rs @@ -219,7 +219,12 @@ async function run() {{ Deno.exit(0); }} run().catch(async (e) => {{ - await Deno.writeTextFile("result.json", JSON.stringify({{ message: e.message, name: e.name, stack: e.stack }})); + let err = {{ message: e.message, name: e.name, stack: e.stack }}; + let step_id = Deno.env.get("WM_FLOW_STEP_ID"); + if (step_id) {{ + err["step_id"] = step_id; + }} + await Deno.writeTextFile("result.json", JSON.stringify(err)); Deno.exit(1); }}); "#, diff --git a/backend/windmill-worker/src/python_executor.rs b/backend/windmill-worker/src/python_executor.rs index 9442deaf53..ee0743ea71 100644 --- a/backend/windmill-worker/src/python_executor.rs +++ b/backend/windmill-worker/src/python_executor.rs @@ -280,7 +280,12 @@ except BaseException as e: exc_type, exc_value, exc_traceback = sys.exc_info() tb = traceback.format_tb(exc_traceback) with open("result.json", 'w') as f: - err_json = json.dumps({{ "message": str(e), "name": e.__class__.__name__, "stack": '\n'.join(tb[1:]) }}, separators=(',', ':'), default=str).replace('\n', '') + err = {{ "message": str(e), "name": e.__class__.__name__, "stack": '\n'.join(tb[1:]) }} + import os + flow_node_id = os.environ.get('WM_FLOW_STEP_ID') + if flow_node_id: + err['step_id'] = flow_node_id + err_json = json.dumps(err, separators=(',', ':'), default=str).replace('\n', '') f.write(err_json) sys.exit(1) "#,