[RLLIB] Wait for remote_workers to finish closing environments before terminating (#11476)

This commit is contained in:
mvindiola1
2020-10-28 14:23:06 -07:00
committed by GitHub
parent fcaf4d80e3
commit 9e68b77796
+9 -4
View File
@@ -144,10 +144,15 @@ class WorkerSet:
def stop(self) -> None:
"""Stop all rollout workers."""
self.local_worker().stop()
for w in self.remote_workers():
w.stop.remote()
w.__ray_terminate__.remote()
try:
self.local_worker().stop()
tids = [w.stop.remote() for w in self.remote_workers()]
ray.get(tids)
except Exception:
logger.exception("Failed to stop workers")
finally:
for w in self.remote_workers():
w.__ray_terminate__.remote()
@DeveloperAPI
def foreach_worker(self, func: Callable[[RolloutWorker], T]) -> List[T]: