diff --git a/python/functions/notebook/jupyter_exec.py b/python/functions/notebook/jupyter_exec.py index 9d694619..16bcaf32 100644 --- a/python/functions/notebook/jupyter_exec.py +++ b/python/functions/notebook/jupyter_exec.py @@ -8,6 +8,7 @@ Tres modos de ejecucion: import asyncio import json +from functools import partial from typing import Any from urllib.error import URLError from urllib.request import Request, urlopen @@ -106,7 +107,10 @@ async def _async_append_execute( with KernelClient(server_url=server_url, token=token, kernel_id=kernel_id) as kernel: cell_index = nb.add_code_cell(code) - result = nb.execute_cell(cell_index, kernel) + loop = asyncio.get_event_loop() + result = await loop.run_in_executor( + None, partial(nb.execute_cell, cell_index, kernel), + ) # Let Y.js propagate changes to other clients (browser) await asyncio.sleep(2) @@ -138,7 +142,10 @@ async def _async_execute_cell( await nb.wait_until_synced() with KernelClient(server_url=server_url, token=token, kernel_id=kernel_id) as kernel: - result = nb.execute_cell(cell_index, kernel) + loop = asyncio.get_event_loop() + result = await loop.run_in_executor( + None, partial(nb.execute_cell, cell_index, kernel), + ) await asyncio.sleep(2)