in kernels-mixer/kernels_mixer/kernels.py [0:0]
def kernel_model(self, kernel_id):
self._check_kernel_id(kernel_id)
kernel = self._kernels[kernel_id]
# Normally, calls to `run_sync` pose a danger of locking up Tornado's
# single-threaded event loop.
#
# However, the call below should be fine because it cannot block for an
# arbitrary amount of time.
#
# This call blocks on the `model` method defined below, which in turn
# blocks on the `GatewayMappingKernelManager`'s `kernel_model` method
# (https://github.com/jupyter-server/jupyter_server/blob/547f7a244d89f79dd09fa7d382322d1c40890a3f/jupyter_server/gateway/managers.py#L94).
#
# That will only take a small, deterministic amount of time to complete
# because that `kernel_model` only operates on existing, in-memory data
# and does not block on any outgoing network requests.
return run_sync(kernel.model)()