From 0c4a70cd12abb2b19d743616163131c067fbe4bf Mon Sep 17 00:00:00 2001 From: DanSava Date: Mon, 29 Jan 2024 15:58:02 +0200 Subject: [PATCH] Check scheduler loop is still running before killing all the jobs. --- src/ert/scheduler/scheduler.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ert/scheduler/scheduler.py b/src/ert/scheduler/scheduler.py index c12468f4b8c..f73137eee5c 100644 --- a/src/ert/scheduler/scheduler.py +++ b/src/ert/scheduler/scheduler.py @@ -102,7 +102,10 @@ def __init__( def kill_all_jobs(self) -> None: assert self._loop - asyncio.run_coroutine_threadsafe(self.cancel_all_jobs(), self._loop) + # Checking that the loop is running is required because everest is closing the + # simulation context whenever an optimization simulation batch is done + if self._loop.is_running(): + asyncio.run_coroutine_threadsafe(self.cancel_all_jobs(), self._loop) async def cancel_all_jobs(self) -> None: self._cancelled = True