From 682bc717f9bd0f260f6a4eccaa80548fff06b665 Mon Sep 17 00:00:00 2001 From: Shuchang Zheng Date: Mon, 23 Dec 2024 13:37:30 -0800 Subject: [PATCH] fix workflow run timeline infinite loop (#1431) --- skyvern/forge/sdk/workflow/service.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/skyvern/forge/sdk/workflow/service.py b/skyvern/forge/sdk/workflow/service.py index c3e59663..1a2e9afe 100644 --- a/skyvern/forge/sdk/workflow/service.py +++ b/skyvern/forge/sdk/workflow/service.py @@ -1630,7 +1630,9 @@ class WorkflowService: result = [] block_map: dict[str, WorkflowRunTimeline] = {} + counter = 0 while workflow_run_blocks: + counter += 1 block = workflow_run_blocks.pop(0) workflow_run_timeline = WorkflowRunTimeline( type=WorkflowRunTimelineType.block, @@ -1646,5 +1648,10 @@ class WorkflowService: workflow_run_blocks.append(block) else: result.append(workflow_run_timeline) + block_map[block.workflow_run_block_id] = workflow_run_timeline + + if counter > 1000: + LOG.error("Too many blocks in the workflow run", workflow_run_id=workflow_run_id) + break return result