【问题标题】:Exposing warnings from nodes using snow使用雪暴露来自节点的警告
【发布时间】:2026-01-29 16:25:01
【问题描述】:

我有一个使用 snow 并行化的 lapply 操作。这很好用,只是生成的任何警告似乎都被忽略了,因此永远不会向用户显示。有没有办法在单个节点上公开警告,以便它们在主 R 进程中通过?

目前我最好的想法是让所有节点将它们的警告写入文件,并在最后读取它们,但必须有更好的方法!

这是一个代表:

library(snow)

f <- function(x){
  warning("mywarning")
  return(NULL)
}

cl <- makeCluster(2, type="SOCK")

lapply(1:2, f)  # Gives me warnings, as desired
clusterApply(cl, 1:2, f)  # Gives me the same output, faster, but with no warnings

【问题讨论】:

    标签: r snow


    【解决方案1】:

    最后,我最终从 snow 切换到了 future.apply 包(与 parallel 一起使用)。 future.apply 现在默认具有此行为。

    不幸的是,在大多数情况下,消息/警告直到整个运行完成后才会出现,但这是一个全新的问题。

    【讨论】: