fix workflow run timeline infinite loop (#1431)
This commit is contained in:
@@ -1630,7 +1630,9 @@ class WorkflowService:
|
|||||||
|
|
||||||
result = []
|
result = []
|
||||||
block_map: dict[str, WorkflowRunTimeline] = {}
|
block_map: dict[str, WorkflowRunTimeline] = {}
|
||||||
|
counter = 0
|
||||||
while workflow_run_blocks:
|
while workflow_run_blocks:
|
||||||
|
counter += 1
|
||||||
block = workflow_run_blocks.pop(0)
|
block = workflow_run_blocks.pop(0)
|
||||||
workflow_run_timeline = WorkflowRunTimeline(
|
workflow_run_timeline = WorkflowRunTimeline(
|
||||||
type=WorkflowRunTimelineType.block,
|
type=WorkflowRunTimelineType.block,
|
||||||
@@ -1646,5 +1648,10 @@ class WorkflowService:
|
|||||||
workflow_run_blocks.append(block)
|
workflow_run_blocks.append(block)
|
||||||
else:
|
else:
|
||||||
result.append(workflow_run_timeline)
|
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
|
return result
|
||||||
|
|||||||
Reference in New Issue
Block a user