如何在OpenCPU服务器(Linux fedora)上使用R.cache,parallel和doParallel

我正在使用openCPU通过AJAX请求执行R代码。在这种情况下,我在自己开发的R包中使用了以下包:R.cache,doParallel,parallel和stablespec。在本地openCPU服务器上安装并执行我的程序包工作正常。但是,当我在Linux-Fedora系统上安装openCPU以具有“云”服务器时,缓存和并行化无法正常工作。使用并行化时,不会收到任何结果。注释掉并行化后,该代码是可执行的(当然很慢)。

我还检查了所有必需的软件包都已安装在openCPU云服务器上。

问题是R程序包R.cache以及doParallel和parallel在openCPU上无法正常工作。

在我自己开发的软件包中,所需的软件包在“说明-导入”部分中列出。我使用的是其说明中建议的R.cache:

在函数的开头,执行以下代码:

data <- R.cache::loadCache(key)
  if (!is.null(data)) {
    return(data);
  }

最后:

R.cache::saveCache(data,key=key,comment="myFunction()")

像这样包含并行化:

cores <- parallel::detectCores()
cl <- parallel::makecluster(cores)
doParallel::registerDoParallel()

但是,detectCores()函数会引发错误。

与此有关的最大问题是,它正在从RStudio启动的本地openCPU服务器上工作,但在Linux-Fedora服务器上的云openCPU服务器上却无法工作。

wsydy2006 回答:如何在OpenCPU服务器(Linux fedora)上使用R.cache,parallel和doParallel

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3154312.html

大家都在问