From b4e823cea0692999bfece41573b51b15d608ae59 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Mon, 6 Sep 2021 10:11:03 +0200 Subject: [PATCH 1/4] Shutdown kernels on api/shutdown --- jupyter_server/services/shutdown.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/jupyter_server/services/shutdown.py b/jupyter_server/services/shutdown.py index 31a60b9924..107f119e65 100644 --- a/jupyter_server/services/shutdown.py +++ b/jupyter_server/services/shutdown.py @@ -8,8 +8,11 @@ class ShutdownHandler(JupyterHandler): @web.authenticated - def post(self): + async def post(self): self.log.info("Shutting down on /api/shutdown request.") + + await self.kernel_manager.shutdown_all() + ioloop.IOLoop.current().stop() From ec99ae81750b5d3d20106758d954b120d05cc655 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Mon, 6 Sep 2021 10:34:33 +0200 Subject: [PATCH 2/4] Shutdown terminals on api/shutdown --- jupyter_server/services/shutdown.py | 1 + 1 file changed, 1 insertion(+) diff --git a/jupyter_server/services/shutdown.py b/jupyter_server/services/shutdown.py index 107f119e65..ca8c5312d9 100644 --- a/jupyter_server/services/shutdown.py +++ b/jupyter_server/services/shutdown.py @@ -11,6 +11,7 @@ class ShutdownHandler(JupyterHandler): async def post(self): self.log.info("Shutting down on /api/shutdown request.") + await self.terminal_manager.terminate_all() await self.kernel_manager.shutdown_all() ioloop.IOLoop.current().stop() From 4ae061551593376c0ee5f3e90fa2122dfead37fe Mon Sep 17 00:00:00 2001 From: martinRenou Date: Mon, 6 Sep 2021 10:49:48 +0200 Subject: [PATCH 3/4] Call cleanup on api/shutdown Co-authored-by: David Brochart --- jupyter_server/services/shutdown.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/jupyter_server/services/shutdown.py b/jupyter_server/services/shutdown.py index ca8c5312d9..88c09b0c93 100644 --- a/jupyter_server/services/shutdown.py +++ b/jupyter_server/services/shutdown.py @@ -11,8 +11,7 @@ class ShutdownHandler(JupyterHandler): async def post(self): self.log.info("Shutting down on /api/shutdown request.") - await self.terminal_manager.terminate_all() - await self.kernel_manager.shutdown_all() + await self._cleanup() ioloop.IOLoop.current().stop() From 4c59367247c32bdcde5381537b200a5859c2bb6c Mon Sep 17 00:00:00 2001 From: martinRenou Date: Mon, 6 Sep 2021 10:59:44 +0200 Subject: [PATCH 4/4] Fix call to cleanup --- jupyter_server/base/handlers.py | 4 ++++ jupyter_server/services/shutdown.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/jupyter_server/base/handlers.py b/jupyter_server/base/handlers.py index a514c250da..60d0e5fead 100644 --- a/jupyter_server/base/handlers.py +++ b/jupyter_server/base/handlers.py @@ -212,6 +212,10 @@ def jinja_template_vars(self): """User-supplied values to supply to jinja templates.""" return self.settings.get("jinja_template_vars", {}) + @property + def serverapp(self): + return self.settings["serverapp"] + # --------------------------------------------------------------- # URLs # --------------------------------------------------------------- diff --git a/jupyter_server/services/shutdown.py b/jupyter_server/services/shutdown.py index 88c09b0c93..959fc1addf 100644 --- a/jupyter_server/services/shutdown.py +++ b/jupyter_server/services/shutdown.py @@ -11,7 +11,7 @@ class ShutdownHandler(JupyterHandler): async def post(self): self.log.info("Shutting down on /api/shutdown request.") - await self._cleanup() + await self.serverapp._cleanup() ioloop.IOLoop.current().stop()