@@ -357,7 +357,9 @@ def from_dict(cls, d, **kwargs):
357357 cls = self .engine_launcher_class = import_item (engine_info ["class" ])
358358 for engine_set_id , engine_state in engine_info .get ("sets" , {}).items ():
359359 self ._engine_sets [engine_set_id ] = cls .from_dict (
360- engine_state , parent = self
360+ engine_state ,
361+ engine_set_id = engine_set_id ,
362+ parent = self ,
361363 )
362364
363365 return self
@@ -503,6 +505,7 @@ async def start_engines(self, n=None, engine_set_id=None, **kwargs):
503505 log = self .log ,
504506 profile_dir = self .profile_dir ,
505507 cluster_id = self .cluster_id ,
508+ engine_set_id = engine_set_id ,
506509 ** kwargs ,
507510 )
508511 if n is None :
@@ -547,6 +550,8 @@ async def stop_engines(self, engine_set_id=None):
547550 r = engine_set .stop ()
548551 if inspect .isawaitable (r ):
549552 await r
553+ # retrieve and cleanup output files
554+ engine_set .get_output (remove = True )
550555 self ._engine_sets .pop (engine_set_id )
551556 self .update_cluster_file ()
552557
@@ -608,6 +613,9 @@ async def stop_controller(self):
608613 if inspect .isawaitable (r ):
609614 await r
610615
616+ if self ._controller :
617+ self ._controller .get_output (remove = True )
618+
611619 self ._controller = None
612620 self .update_cluster_file ()
613621
0 commit comments