这与R中的h2o包有关。我正在处理并行运行的多个作业,有些可能比其他作业晚。是否可以检测h2o实例是否已存在并与该实例建立连接。
我看到如果我知道某个实例已在运行,我只会h2o.init(startH2O=FALSE)
,但如果我不知道该怎么办?
答案 0 :(得分:2)
只做h2o.init(startH2O=FALSE)
,如果失败,你就知道它没有运行。
(或者,您可以将自己的卷曲请求发送到端口54321,并查看是否有回复。)
当你说“并行运行多个作业”时,你的意思是一个H2O实例,它同时制作了2个以上的模型吗?或者你的意思是你在一台机器上,在不同的端口上运行2个以上的H2O实例?如果是后者,请为您的h2o.init()
电话提供感兴趣的端口号(但请确保您使用的是最新版本,port
arg会被忽略,直到2016年11月18日:https://github.com/h2oai/h2o-3/pull/401)< / p>
答案 1 :(得分:0)
这是您在Python中尝试h2o.init(start_h2o=False)
时看到的内容。
“警告:如果您不想启动本地H2O服务器,则首选使用h2o.connect()
。”
答案 2 :(得分:0)
如果您正在寻找一种只检查状态而不会出错或退出脚本的方法,则可以使用trycatch
来实现。
assign("is_h2o_running", T, .GlobalEnv)
tryCatch(
expr = {
h2o.init(startH2O=FALSE)
},
error = function(e){
print(e)
assign("is_h2o_running", F, .GlobalEnv)
},
warning = function(w){
print(w)
}
)
print(paste0("Is H2O running : ", is_h2o_running))