From 3438ddb16575155e98fc4f49700fff420088c8b0 Mon Sep 17 00:00:00 2001 From: Matthias Bussonnier Date: Wed, 25 Oct 2023 02:05:30 +0200 Subject: [PATCH] Update kernel env to reflect changes in session. (#1341) --- jupyter_server/services/sessions/sessionmanager.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/jupyter_server/services/sessions/sessionmanager.py b/jupyter_server/services/sessions/sessionmanager.py index ba55cc2836..398490a8d4 100644 --- a/jupyter_server/services/sessions/sessionmanager.py +++ b/jupyter_server/services/sessions/sessionmanager.py @@ -461,6 +461,13 @@ async def update_session(self, session_id, **kwargs): query = "UPDATE session SET %s WHERE session_id=?" % (", ".join(sets)) # noqa self.cursor.execute(query, [*list(kwargs.values()), session_id]) + if hasattr(self.kernel_manager, "update_env"): + self.cursor.execute( + "SELECT path, name, kernel_id FROM session WHERE session_id=?", [session_id] + ) + path, name, kernel_id = self.cursor.fetchone() + self.kernel_manager.update_env(kernel_id=kernel_id, env=self.get_kernel_env(path, name)) + async def kernel_culled(self, kernel_id: str) -> bool: """Checks if the kernel is still considered alive and returns true if its not found.""" return kernel_id not in self.kernel_manager