From 56ba25f5542d20ad349777f63450f7737142947c Mon Sep 17 00:00:00 2001 From: Matteo Destro Date: Thu, 1 Feb 2024 15:04:38 +0100 Subject: [PATCH] Fix missing component callbacks on multiple step calls (#1195) --- clearml/automation/controller.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/clearml/automation/controller.py b/clearml/automation/controller.py index b470f546..3a6d36f1 100644 --- a/clearml/automation/controller.py +++ b/clearml/automation/controller.py @@ -4075,6 +4075,13 @@ class PipelineDecorator(PipelineController): ): _node.name = "{}_{}".format(_node_name, counter) counter += 1 + # Copy callbacks to the replicated node + if cls._singleton._pre_step_callbacks.get(_node_name): + cls._singleton._pre_step_callbacks[_node.name] = cls._singleton._pre_step_callbacks[_node_name] + if cls._singleton._post_step_callbacks.get(_node_name): + cls._singleton._post_step_callbacks[_node.name] = cls._singleton._post_step_callbacks[_node_name] + if cls._singleton._status_change_callbacks.get(_node_name): + cls._singleton._status_change_callbacks[_node.name] = cls._singleton._status_change_callbacks[_node_name] _node_name = _node.name if _node.name not in cls._singleton._nodes: cls._singleton._nodes[_node.name] = _node