我们的 SGE 集群设置要求控制器和引擎启动之间存在延迟。如果不存在此延迟,则某些服务器会使用“旧”ipcontroller-client.json
文件并尝试连接到以前的(且未运行的)控制器。这是 NFS 的“功能”,因此为了补救,我c.IPClusterStart.delay = 30
在 ipcluster_config.py 文件中进行了设置,一切正常。控制器被提交给 SGE,有足够的时间启动和写入它的 json 文件,然后引擎可以正确启动到新运行的控制器。但是,我还希望能够从笔记本启动集群。不幸的是,似乎没有使用此超时,控制器和引擎同时启动(如watch qstat
),一些引擎连接(因为从 json 文件中获取新设置)而一些不连接(因为 NFS)。
我在笔记本上运行了一个 strace ,发现它正在使用sge_controller
和sge_engines
脚本(当您按下开始时由笔记本创建)来启动这些进程。
我想知道是否有任何方法可以在这里实现延迟。它以正确的方式启动控制器和引擎(SGE),所以我知道它正在读取ipcluster_config.py
.
我用谷歌搜索并搜索了这个网站,但没有运气。希望也许有人可以阐明这种行为的更深层次的运作方式。
谢谢,克里斯