Jupyter Server会话管理器,它能够恢复和同步Jupyter会话(例如notebook内核连接)。
项目描述
Jupyter Server Synchronizer
一种Jupyter Server会话管理器,它能够持久化和重新激活超出服务器生命周期的内核会话。
这对于运行远程内核和内容的Jupyter Server特别有用。
基本用法
安装并启用扩展
pip install jupyter_server_synchronizer
jupyter server extension enable jupyter_server_synchronizer
当您启动 Jupyter 服务器时,它会在启动 Web 应用程序之前同步所有管理器。
jupyter server --ServerApp.session_manager_class=jupyter_server_synchronizer.SynchronizerSessionManager
为了定期同步,请使用 autosync
配置选项启用自动同步功能。例如,
jupyter server --ServerApp.session_manager_class=jupyter_server_synchronizer.SynchronizerSessionManager --SynchronizerSessionManager.autosync=True
否则,您可以通过向 /api/sync
终端点发送 POST
请求来触发同步。
示例
以下是一个使用 Jupyter 服务器与 Jupyter 核心网关作为其“远程”核心服务提供者的同步器的示例。
首先,启动核心网关。您需要启用 list_kernels
方法。在示例中,我们假设核心网关不是多租户;即每个 Jupyter 服务器有一个核心网关。我们将端口设置为 9999
以释放 8888
用于我们的 Jupyter 服务器。
jupyter kernelgateway \
--port 9999 \
--JupyterWebsocketPersonality.list_kernels=True
其次,启动 Jupyter 服务器并将其指向核心网关。请注意,我们在 SessionManager
和 SynchronizerExtension
(这些路径不需要相同)中设置了 database_filepath
特性。同步器依赖于将有关 Jupyter 核心和会话的信息保存/存储在持久数据库中。这些信息对于重新激活和同步是必要的。
我们将启用“autosync”功能以定期同步服务器。
jupyter lab \
--gateway-url=http://127.0.0.1:9999 \
--ServerApp.session_manager_class=jupyter_server_synchronizer.SynchronizerSessionManager
--SynchronizerSessionManager.database_filepath=jupyter-database.db \
--SynchronizerSessionManager.autosync=True \
--SynchronizerSessionManager.log_level=DEBUG
现在,让我们关闭那个服务器
kill -9 $(echo $(pgrep -lf jupyter-lab) | awk '{print $1;}')
然后重新启动它,看看核心是否重新激活并开始再次同步。
jupyter lab \
--gateway-url=http://127.0.0.1:9999 \
--ServerApp.session_manager_class=jupyter_server_synchronizer.SynchronizerSessionManager
--SessionManager.database_filepath=jupyter-database.db \
--SynchronizerSessionManager.autosync=True \
--SynchronizerSessionManager.log_level=DEBUG
项目详情
关闭
散列 jupyter_server_synchronizer-0.0.10-py3-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | a05a4924d7c1a9807a8b725de6732ef485f58a34859258e64363ad7c0818ae56 |
|
MD5 | 791ab6d0388a72c106f11eb424ffff3f |
|
BLAKE2b-256 | 1c5efca82829689e8a4463c29f416cececd8bbb55cfaccfe463cf32082254b11 |