Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
延迟从笔记本启动IPython群集_Python_Ipython_Ipython Notebook - Fatal编程技术网

延迟从笔记本启动IPython群集

延迟从笔记本启动IPython群集,python,ipython,ipython-notebook,Python,Ipython,Ipython Notebook,我们的SGE群集设置要求控制器和发动机启动之间存在延迟。如果没有此延迟,则某些服务器使用“old”ipcontroller client.json文件,并尝试连接到以前的(未运行的)控制器。这是一个NFS“功能”,因此为了补救,我在ipcluster_config.py文件中设置了c.IPClusterStart.delay=30,一切正常。控制器提交给SGE,有足够的时间启动并写入其json文件,然后引擎可以正确启动到新运行的控制器。但是,我也希望能够从笔记本电脑启动集群。不幸的是,似乎没有使

我们的SGE群集设置要求控制器和发动机启动之间存在延迟。如果没有此延迟,则某些服务器使用“old”
ipcontroller client.json
文件,并尝试连接到以前的(未运行的)控制器。这是一个NFS“功能”,因此为了补救,我在ipcluster_config.py文件中设置了
c.IPClusterStart.delay=30
,一切正常。控制器提交给SGE,有足够的时间启动并写入其json文件,然后引擎可以正确启动到新运行的控制器。但是,我也希望能够从笔记本电脑启动集群。不幸的是,似乎没有使用此超时,控制器和引擎同时启动(如
watch qstat
所示),一些引擎连接(因为从json文件中获取新设置),而一些引擎没有连接(因为NFS)

我在笔记本上运行了一段时间,发现它正在使用
sge_控制器
sge_引擎
脚本(当您按下开始键时由笔记本创建)来启动这些过程

我想知道是否有任何方法可以在这里实现延迟。它以正确的方式启动控制器和引擎(SGE),因此我知道它正在读取
ipcluster\u config.py

我在谷歌上搜索过这个网站,运气不好。希望有人能对这种行为的深层次运作提供一些线索

谢谢,
克里斯

好吧,这对OP来说可能太晚了,但希望它能帮助一些人

如果是超时问题,只需将
c.EngineFactory.timeout
c.IPEngineApp.wait\u url\u file
设置为更大的时间

如果这是由于第一次运行后出现故障,则可能是由于安全文件延迟,应使用
iPython.utils.path.get_security_文件
从相关iPython配置文件中删除这些文件(
ipcontroller engine.json
ipcontroller client.json
),以获取完整路径。为了使这一过程自动化并减轻痛苦,可以将此删除步骤附加到同一配置文件的
ipcluster\u config.py
开头

仅这些更改就足以让集群轻松地与笔记本一起运行


如果这两种方法都不能解决问题,那么还有一些其他的想法()。

我找到了一些目前似乎有效的方法,但我仍然认为它应该能够在每个集群的基础上进行配置。在
lib/python2.7/site packages/IPython/frontend/html/notebook/clustermanager.py
中,我将
delay=CFloat(1,config=True,…)
更改为
delay=CFloat(30,config=True,…)
。集群现在如上所述启动,控制器和引擎之间有30段延迟。