我有一个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命令,则在源命令上会抛出相同的错误。
谢谢!