在PM2群集模式下运行R脚本

时间:2019-09-20 21:26:04

标签: r pm2

我有一个R脚本,可以在PM2的Fork模式下正常运行。我使用以下命令运行它:

pm2 -f start --interpreter="Rscript" <path>

当我尝试像这样在PM2的集群模式下运行相同的

pm2 -f start --interpreter="Rscript" <path> -i 2

它失败并显示以下错误

ReferenceError: setwd is not defined
    at Object.<anonymous> (<<Path>>.R:1:63)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at /usr/lib/node_modules/pm2/lib/ProcessContainer.js:307:23
    at /usr/lib/node_modules/pm2/node_modules/async/lib/async.js:52:16
    at /usr/lib/node_modules/pm2/node_modules/async/lib/async.js:1209:30
    at WriteStream.<anonymous> (/usr/lib/node_modules/pm2/lib/Utility.js:147:13)

我应该对R脚本进行任何更改以使其能够在群集模式下运行吗?

我的R脚本的内容是

setwd(<folderpath>)
source("../supportingFile.R")
startWebListener("file.R", 8080)

如果我删除setwd命令,则在源命令上会抛出相同的错误。

谢谢!

0 个答案:

没有答案