【问题标题】:parLapply timeout optionparLapply 超时选项
【发布时间】:2019-04-29 08:15:25
【问题描述】:

我正在使用parLapply 并行运行一个函数,如下所示:

parLapply(cl, df, fun = SomeFunction)

cl 是我预先注册的集群。

但是函数执行时间太长,我想在执行时间太长时退出。

我知道R.utils 包有函数withTimeOut 工作得很好(当有循环要退出时 - 并且应用本质上是一个循环)。 并行apply族有类似的功能吗?

【问题讨论】:

    标签: r parallel-processing apply


    【解决方案1】:

    使用与parLapply非常相似的foreach,我可以做到:

    library(doParallel)
    registerDoParallel(cl <- makeCluster(2))
    foreach(ic = 1:5) %dopar% {
      withCallingHandlers({ 
        setTimeLimit(elapsed = 4, transient = TRUE)
        Sys.sleep(ic)
      }, error = function(e) stop("timeout"))
    }
    stopCluster(cl)
    

    【讨论】:

      猜你喜欢
      • 2013-11-01
      • 2022-01-14
      • 2011-11-05
      • 2013-08-31
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多