小编Ana*_*eri的帖子

在分离模式下在IPython Notebook中运行一些任务

是否可以在IPython Notebook中运行一些长任务,关闭浏览器,然后在一段时间后再打开它并显示这些任务的结果?

说,这样的任务:

def f():
    import time
    time.sleep(100)
    with open("result.txt", "w") as fh:
        fh.write("Done.")
Run Code Online (Sandbox Code Playgroud)

如果我正常运行任务,并在完成之前关闭浏览器,当我打开它时,我看不到'result.txt'.

如果我使用%px魔术或并行执行来运行它- 如果我在完成之前关闭浏览器,则再没有结果.

有可用的任何扩展或黑客吗?或者我错过了什么?

更新1:

虽然在IPython中后台作业控制支持,但在我断开浏览器后,后台作业变得陈旧.我唯一能想到的就是%connect_info在关闭浏览器之前发出,然后使用连接从屏幕终端

ipython console --existing <ID>.json
Run Code Online (Sandbox Code Playgroud)

并从那里开始我的工作.

更新2:

更有帮助的黑客是组合ipython console和工作控制.即我在浏览器中启动后台作业时打开控制台并连接到同一会话,然后我可以自由关闭它直到作业完成.

更新3:

它似乎工作自版本iPython 1.0dev没有任何黑客.你只需运行你想要的,关闭浏览器,它仍然运行.

python background ipython ipython-notebook ipython-magic

16
推荐指数
1
解决办法
5215
查看次数