跳转到主要内容

Jupyter Server会话管理器,它能够恢复和同步Jupyter会话(例如notebook内核连接)。

项目描述

Jupyter Server Synchronizer

Build Status codecov

一种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 服务器并将其指向核心网关。请注意,我们在 SessionManagerSynchronizerExtension(这些路径不需要相同)中设置了 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.tar.gz (20.1 kB 查看散列)

上传时间

构建分发

jupyter_server_synchronizer-0.0.10-py3-none-any.whl (16.1 kB 查看散列)

上传时间 Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面