Forráskód Böngészése

fix: retry node in iteration logs wrong (#11995)

Co-authored-by: Novice Lee <novicelee@NoviPro.local>
Novice 4 hónapja
szülő
commit
453f324f54
1 módosított fájl, 11 hozzáadás és 7 törlés
  1. 11 7
      api/core/app/task_pipeline/workflow_cycle_manage.py

+ 11 - 7
api/core/app/task_pipeline/workflow_cycle_manage.py

@@ -438,6 +438,16 @@ class WorkflowCycleManage:
         elapsed_time = (finished_at - created_at).total_seconds()
         inputs = WorkflowEntry.handle_special_values(event.inputs)
         outputs = WorkflowEntry.handle_special_values(event.outputs)
+        origin_metadata = {
+            NodeRunMetadataKey.ITERATION_ID: event.in_iteration_id,
+            NodeRunMetadataKey.PARALLEL_MODE_RUN_ID: event.parallel_mode_run_id,
+        }
+        merged_metadata = (
+            {**jsonable_encoder(event.execution_metadata), **origin_metadata}
+            if event.execution_metadata is not None
+            else origin_metadata
+        )
+        execution_metadata = json.dumps(merged_metadata)
 
         workflow_node_execution = WorkflowNodeExecution()
         workflow_node_execution.tenant_id = workflow_run.tenant_id
@@ -459,13 +469,7 @@ class WorkflowCycleManage:
         workflow_node_execution.error = event.error
         workflow_node_execution.inputs = json.dumps(inputs) if inputs else None
         workflow_node_execution.outputs = json.dumps(outputs) if outputs else None
-        workflow_node_execution.execution_metadata = json.dumps(
-            {
-                NodeRunMetadataKey.ITERATION_ID: event.in_iteration_id,
-                NodeRunMetadataKey.PARALLEL_MODE_RUN_ID: event.parallel_mode_run_id,
-                NodeRunMetadataKey.ITERATION_ID: event.in_iteration_id,
-            }
-        )
+        workflow_node_execution.execution_metadata = execution_metadata
         workflow_node_execution.index = event.node_run_index
 
         db.session.add(workflow_node_execution)