У меня есть сценарий R, который отлично работает в режиме Fork в PM2.Я запускаю его с помощью команды:
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команда, та же ошибка генерируется в исходной команде.
Спасибо!