22
33import time
44from abc import ABC , abstractmethod
5- from typing import TYPE_CHECKING , Any , Optional
5+ from typing import TYPE_CHECKING , Optional
66
7+ from adf_core_python .core .component .centralized .command_executor import CommandExecutor
78from adf_core_python .core .logger .logger import get_agent_logger
89
910if TYPE_CHECKING :
@@ -24,7 +25,7 @@ def __init__(self, parent: Optional[TacticsAgent] = None) -> None:
2425 self ._parent = parent
2526 self ._modules : list [AbstractModule ] = []
2627 self ._actions : list [ExtendAction ] = []
27- self ._command_executor : Any = None
28+ self ._command_executor : list [ CommandExecutor ] = []
2829
2930 @abstractmethod
3031 def initialize (
@@ -107,27 +108,27 @@ def register_action(self, action: ExtendAction) -> None:
107108 def unregister_action (self , action : ExtendAction ) -> None :
108109 self ._actions .remove (action )
109110
110- def register_command_executor (self , command_executor : Any ) -> None :
111- self ._command_executor = command_executor
111+ def register_command_executor (self , command_executor : CommandExecutor ) -> None :
112+ self ._command_executor . append ( command_executor )
112113
113- def unregister_command_executor (self ) -> None :
114- self ._command_executor = None
114+ def unregister_command_executor (self , command_executor : CommandExecutor ) -> None :
115+ self ._command_executor . remove ( command_executor )
115116
116117 def module_precompute (self , precompute_data : PrecomputeData ) -> None :
117118 for module in self ._modules :
118119 module .precompute (precompute_data )
119120 for action in self ._actions :
120121 action .precompute (precompute_data )
121- # for executor in self._command_executor:
122- # executor.precompute(precompute_data)
122+ for executor in self ._command_executor :
123+ executor .precompute (precompute_data )
123124
124125 def module_resume (self , precompute_data : PrecomputeData ) -> None :
125126 for module in self ._modules :
126127 module .resume (precompute_data )
127128 for action in self ._actions :
128129 action .resume (precompute_data )
129- # for executor in self._command_executor:
130- # executor.resume(precompute_data)
130+ for executor in self ._command_executor :
131+ executor .resume (precompute_data )
131132
132133 def module_prepare (self ) -> None :
133134 for module in self ._modules :
@@ -142,16 +143,16 @@ def module_prepare(self) -> None:
142143 self ._logger .debug (
143144 f"module { action .__class__ .__name__ } prepare time: { time .time () - start_time :.3f} " ,
144145 )
145- # for executor in self._command_executor:
146- # executor.prepare()
146+ for executor in self ._command_executor :
147+ executor .prepare ()
147148
148149 def module_update_info (self , message_manager : MessageManager ) -> None :
149150 for module in self ._modules :
150151 module .update_info (message_manager )
151152 for action in self ._actions :
152153 action .update_info (message_manager )
153- # for executor in self._command_executor:
154- # executor.update_info(message_manager)
154+ for executor in self ._command_executor :
155+ executor .update_info (message_manager )
155156
156157 def reset_count (self ) -> None :
157158 for module in self ._modules :
@@ -164,5 +165,8 @@ def reset_count(self) -> None:
164165 action .reset_count_resume ()
165166 action .reset_count_prepare ()
166167 action .reset_count_update_info ()
167- # for executor in self._command_executor:
168- # executor.reset_count()
168+ for executor in self ._command_executor :
169+ executor .reset_count_precompute ()
170+ executor .reset_count_resume ()
171+ executor .reset_count_prepare ()
172+ executor .reset_count_update_info ()
0 commit comments