簡體   English   中英

如何在 multidplyr 中設置超時

[英]How to set time out in multidplyr

使用multidplyr時,我不一致地收到以下錯誤(即,對於相同的數據,有時我會收到錯誤,有時不會):

rs_init 中的錯誤(self、private、super、options、wait、wait_timeout):無法啟動 R session,超時

我的設置如下:

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是一個 function 調用:

cluster <- multidplyr::new_cluster(7)

據我正確理解,一個 multidplyr 集群由callr創建的多個 R 進程組成。 我收到的錯誤消息似乎來自調用者callr 對於調試,我想在multidplyr中為callr設置更長的超時時間。 那可能嗎? 謝謝你的任何提示。

認為這個問題在這里解決了: https://github.com/tidyverse/multidplyr/issues/97

15 秒對我的設置來說太短了。

如果您遇到同樣的問題,您可以嘗試使用trace(new_cluster, edit=TRUE)臨時更改new_cluster()wait_timeout (有關一般 function 修改的更多信息可以在這里找到: 修改 package ZC1C4252768E1783

60 秒似乎對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM