有没有办法在并行foreach调用中进入浏览器模式?我尝试使用manual = TRUE
创建一个集群。正如预期的那样,它需要我手动启动R的实例。然而,一旦实例从主进程接收到任务,它就会停止运行,并且似乎不会在browser()命令处暂停。我想进入浏览器并检查R.的状态
foreach( i = 1 : 5 ) %dopar%
{
browser()
}
这是手动模式下的Rscript调用:
c:/.../bin/x64/Rscript" -e "parallel:::.slaveRSOCK()" MASTER=localhost PORT=10187 OUT= TIMEOUT=2592000 METHODS=TRUE
虽然?browser
中没有说明,但我希望browser
只能在交互式会话中工作。
解决方案是使用manual = TRUE
,加载R的新实例(集群中每个节点一个),并执行以下操作:
timeout = 2592000
parallel:::.slaveRSOCK()
所以基本上忽略RScript指令。