From 928f8b270061b37b88d47d80aa2696893d0cf1bb Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Fri, 26 Nov 2021 18:43:15 +0100 Subject: [PATCH 1/2] await _finish_kernel_start --- jupyter_server/services/kernels/kernelmanager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jupyter_server/services/kernels/kernelmanager.py b/jupyter_server/services/kernels/kernelmanager.py index 7e9bfdd8e5..b1ce2ba009 100644 --- a/jupyter_server/services/kernels/kernelmanager.py +++ b/jupyter_server/services/kernels/kernelmanager.py @@ -210,7 +210,7 @@ async def start_kernel(self, kernel_id=None, path=None, **kwargs): kwargs["kernel_id"] = kernel_id kernel_id = await ensure_async(self.pinned_superclass.start_kernel(self, **kwargs)) self._kernel_connections[kernel_id] = 0 - asyncio.ensure_future(self._finish_kernel_start(kernel_id)) + await asyncio.ensure_future(self._finish_kernel_start(kernel_id)) # add busy/activity markers: kernel = self.get_kernel(kernel_id) kernel.execution_state = "starting" From 005e7837142ff69a35c444d786cd3bc9bcf20ea1 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Fri, 26 Nov 2021 21:59:18 +0100 Subject: [PATCH 2/2] Guard with use_pending_kernels --- jupyter_server/services/kernels/kernelmanager.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/jupyter_server/services/kernels/kernelmanager.py b/jupyter_server/services/kernels/kernelmanager.py index b1ce2ba009..e455483d52 100644 --- a/jupyter_server/services/kernels/kernelmanager.py +++ b/jupyter_server/services/kernels/kernelmanager.py @@ -210,7 +210,9 @@ async def start_kernel(self, kernel_id=None, path=None, **kwargs): kwargs["kernel_id"] = kernel_id kernel_id = await ensure_async(self.pinned_superclass.start_kernel(self, **kwargs)) self._kernel_connections[kernel_id] = 0 - await asyncio.ensure_future(self._finish_kernel_start(kernel_id)) + fut = asyncio.ensure_future(self._finish_kernel_start(kernel_id)) + if not getattr(self, "use_pending_kernels", None): + await fut # add busy/activity markers: kernel = self.get_kernel(kernel_id) kernel.execution_state = "starting"