Skip to content

Commit

Permalink
Cleanup executor resources after execution
Browse files Browse the repository at this point in the history
  • Loading branch information
martinRenou committed Sep 17, 2021
1 parent 3529330 commit 3f00328
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions voila/handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,8 @@ async def _jinja_notebook_execute(self, nb, kernel_id):
# see the updated variable (it seems to be local to our block)
nb.cells = result.cells

await self._cleanup_resources()

async def _jinja_cell_generator(self, nb, kernel_id):
"""Generator that will execute a single notebook cell at a time"""
nb, resources = ClearOutputPreprocessor().preprocess(nb, {'metadata': {'path': self.cwd}})
Expand Down Expand Up @@ -250,6 +252,12 @@ async def _jinja_cell_generator(self, nb, kernel_id):
finally:
yield output_cell

await self._cleanup_resources()

async def _cleanup_resources(self):
await ensure_async(self.executor.km.cleanup_resources())
await ensure_async(self.executor.kc.stop_channels())

async def load_notebook(self, path):
model = await ensure_async(self.contents_manager.get(path=path))
if 'content' not in model:
Expand Down

0 comments on commit 3f00328

Please sign in to comment.