我有一个程序,我运行在许多不同的机器上,包括一个集群。目前,我通过查找计算机的主机名来检查我是否在集群上,如果它是集群的名称,我将分布式元素添加到程序中,即pestat和qsub调用。我想让这个程序更便于携带,却被困在这里了。在
有没有一种简单的方法来检查是否连接了从属节点,或者连接了多少个从属节点?我搜索了许多标准模块,包括os、sys、socket、platform,但没有找到任何可以使用的模块。我考虑过在运行pestat时使用try/except块,但我觉得应该有更好的方法。在
编辑:坦白地说,我愿意使用linux/bash解决方案,或者查找环境变量,如果我在集群上的话。在
我要对这个解释稍作解释。如果我超过了要求,请告诉我。根据你的描述,听起来你在用TORQUE或PBSpro。鉴于目前不支持通过python检测集群,您可以:
1)检查二进制文件的路径。这意味着脚本不再依赖于主机。
这允许你做一些更复杂的逻辑。例如,检测群集是关闭还是关闭。如果路径中有命令,但它们返回连接错误,例如“连接被拒绝”,您可能不想提交。
2)在每个系统上,您可以编写自己的python模块,并尝试通过脚本导入它。如果失败了,你就知道你在正常的系统中。这可以通过puppet进行管理并相应地分发。
相关问题 更多 >
编程相关推荐