我在使用multidplyr
时不一致地得到以下错误(即,对于相同的数据,有时我得到错误,有时没有(:
rs_init错误(self、private、super、options、wait、wait_timeout(:无法启动R会话,超时
我的设置看起来像:
list1 <- list()
for (i in 1:500){
while(TRUE){
test1 <- try(df %>%
group_by(id) %>%
recursive_func_c())
if(!is(test1, 'try-error')) break
}
list1[[i]] <- test1
}
其中recursive_func_c
是一个调用的函数
cluster <- multidplyr::new_cluster(7)
据我正确理解,多线程集群由callr
创建的多个R进程组成。我收到的错误消息似乎来自callr
包。为了调试,我想在multidplyr
中为callr
设置更长的超时时间。这可能吗?谢谢你的提示。
认为这个问题在这里得到了解决:https://github.com/tidyverse/multidplyr/issues/97
15秒对于我的设定来说可能太短了。
如果你面临同样的问题,你可以尝试用trace(new_cluster, edit=TRUE)
临时更改new_cluster()
的wait_timeout
(更多关于通用功能修改的信息,请点击此处:修改包功能(
60秒似乎对我有用。