@@ -72,7 +72,8 @@ def __init__(self, nodes: List[str], network_config_file: Path, network_name: st
7272 self ._running = False
7373 self .name = network_name
7474
75- self .processes : List [Process ] = []
75+ self ._virtual_node_processes : List [Process ] = []
76+ self ._qnodeos_processes : List [Process ] = []
7677 self ._logger = logging .getLogger (f"{ self .__class__ .__name__ } ({ self .name } )" )
7778
7879 # Determine the nodes to start, using the in-memory network config
@@ -114,6 +115,10 @@ def running(self) -> bool:
114115 def __del__ (self ):
115116 self .stop ()
116117
118+ @property
119+ def processes (self ) -> List [Process ]:
120+ return self ._qnodeos_processes + self ._virtual_node_processes
121+
117122 def _setup_processes (self ):
118123 """
119124 Setup the processes forming the network, however they are not started yet.
@@ -125,15 +130,16 @@ def _setup_processes(self):
125130 for node in self ._nodes_to_start :
126131 process_virtual = Process (
127132 target = start_vnode ,
128- args = (node .name , self ._network_config_file , self .name , simulaqron_settings . log_level ),
133+ args = (node .name , self ._network_config_file , self .name , [ node . name for node in self . _nodes_to_start ] ),
129134 name = f"VirtNode { node .name } "
130135 )
131136 process_qnodeos = Process (
132137 target = start_qnodeos ,
133- args = (node .name , self ._network_config_file , self .name , simulaqron_settings . log_level ),
138+ args = (node .name , self ._network_config_file , self .name ),
134139 name = f"QnodeOSNode { node .name } "
135140 )
136- self .processes += [process_virtual , process_qnodeos ]
141+ self ._virtual_node_processes .append (process_virtual )
142+ self ._qnodeos_processes .append (process_qnodeos )
137143
138144 def start (self , wait_until_running = False ):
139145 """
@@ -143,9 +149,17 @@ def start(self, wait_until_running=False):
143149 :param wait_until_running: bool
144150 """
145151 self ._logger .info ("Starting network with name %s" , self .name )
146- for p in self .processes :
152+ for p in self ._virtual_node_processes :
153+ if not p .is_alive ():
154+ self ._logger .debug ("Starting Virtual Node process %s" , p .name )
155+ p .daemon = True
156+ p .start ()
157+
158+ time .sleep (1 )
159+
160+ for p in self ._qnodeos_processes :
147161 if not p .is_alive ():
148- self ._logger .debug ("Starting process %s" , p .name )
162+ self ._logger .debug ("Starting QNodeOS process %s" , p .name )
149163 p .daemon = True
150164 p .start ()
151165
0 commit comments