所以我有一个长期运行的Python笔记本。
只要在我的浏览器选项卡中打开它,它就会每 2 分钟自动保存一次,生活很美好。
即使我关闭浏览器选项卡,是否可以保持自动保存?
当我关闭选项卡时,内核已经继续运行,这很棒。
这有点像“屏幕”,但是在 jupyter 中
编辑:即使我在浏览器中打开该选项卡,我注意到 24 小时后,右上角的“内核状态”变为“断开连接”,即使正在运行的单元仍然有从服务器 websocket 传送到它的输出联系
不,你不能(暂时),而且他们这样做也没有意义。
原因是,一旦关闭选项卡,一些关键信息就会丢失,因为它位于运行该页面的 Javascript VM 的内存中。
关闭页面后内核发送的任何更新都会丢失。例如,请尝试以下操作。
- 创建一个单元格
sleep(10);print('Hello')
- 执行单元格
- 快速关闭并重新打开该选项卡。
- “Hello”永远不会被打印。
“执行请求”和“执行回复”之间的映射已丢失,并且无法恢复。
Jupyter 团队意识到了这一点。修复并不难,但需要大量仔细的重构和 API 设计。 2017 年 8 月底在纽约进行了长时间的面对面讨论。现在的重点是完善 JupyterLab,一旦完成,它将成为重点领域之一。它将与实时协作齐头并进。
更详细地说,修复需要将笔记本模型从客户端(您的浏览器)“移动”到服务器端(什么是服务器端,目前还没有展开,但这里不是扩展它的地方),存在以下技术问题例如如何处理小部件,以及协作时每个人共享什么状态以及每个客户端共享什么状态。就像如果你折叠一些代码,是否应该存储它?或不 ?
如果您对此感兴趣,我建议您参与Jupyter实验室 https://github.com/jupyterlab/jupyterlab,很快就会有许多容易实现的成果可以贡献出来,这些成果应该可以快速修复 80% 的用例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)