如何在multidplyr中设置超时
How to set time out in multidplyr
我在使用 multidplyr
时不一致地收到以下错误(即,对于相同的数据,有时我会收到错误,有时不会):
Error in rs_init(self, private, super, options, wait, wait_timeout) :
Could not start R session, timed out
我的设置如下:
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)
据我正确理解,multidplyr 集群由 callr
创建的多个 R 进程组成。我收到的错误消息似乎来自 callr
包。
为了调试,我想在multidplyr
内为callr
设置更长的超时时间。那可能吗?
感谢您的任何提示。
认为此问题已在此处解决:https://github.com/tidyverse/multidplyr/issues/97
15 秒对我的设置来说可能太短了。
如果您遇到同样的问题,您可以尝试暂时将new_cluster()
的wait_timeout
更改为trace(new_cluster, edit=TRUE)
(更多关于通用功能修改可以在这里找到:Modify package function)
60 秒似乎对我有用。
我在使用 multidplyr
时不一致地收到以下错误(即,对于相同的数据,有时我会收到错误,有时不会):
Error in rs_init(self, private, super, options, wait, wait_timeout) : Could not start R session, timed out
我的设置如下:
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)
据我正确理解,multidplyr 集群由 callr
创建的多个 R 进程组成。我收到的错误消息似乎来自 callr
包。
为了调试,我想在multidplyr
内为callr
设置更长的超时时间。那可能吗?
感谢您的任何提示。
认为此问题已在此处解决:https://github.com/tidyverse/multidplyr/issues/97
15 秒对我的设置来说可能太短了。
如果您遇到同样的问题,您可以尝试暂时将new_cluster()
的wait_timeout
更改为trace(new_cluster, edit=TRUE)
(更多关于通用功能修改可以在这里找到:Modify package function)
60 秒似乎对我有用。