Skip to content

Commit bb7ba74

Browse files
authored
Allow YRoom to be restarted and allow multi-room kernels (#117)
* remove rooms when they start stopping, not after * automatically stop empty rooms in background task every 5s * bump to 10 second interval * only delete notebook rooms once kernel idle/dead * fix #111, implement update_session() * update kernel client to always use latest rooms from YRoomManager * fix room cleanup for non-notebooks * ensure returned rooms are kept alive for 10 seconds * update docstrings * refactor FileAPI, allow it to be restarted * allow rooms to be restarted, unify stop() methods * implement contents lock to prevent overlapping reads/writes * update YRoomManager to use new stop() API * stop inactive rooms instead of deleting * fix extension stopping * restart inactive rooms instead of deleting * revert changes to kernel client * fix empty notebooks after room restart * add observe_jupyter_ydoc() method for consumers * fix typos and missing type annotations (thanks @JGuinegagne) * disable _watch_rooms() task
1 parent dd042c6 commit bb7ba74

File tree

7 files changed

+737
-379
lines changed

7 files changed

+737
-379
lines changed

jupyter_server_documents/app.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,5 +101,5 @@ def _link_jupyter_server_extension(self, server_app):
101101
async def stop_extension(self):
102102
self.log.info("Stopping `jupyter_server_documents` server extension.")
103103
if self.yroom_manager:
104-
await self.yroom_manager.stop()
104+
self.yroom_manager.stop()
105105
self.log.info("`jupyter_server_documents` server extension is shut down. Goodbye!")

jupyter_server_documents/rooms/yroom.py

Lines changed: 301 additions & 211 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)