Запуск сценариев R в режиме кластера PM2 - PullRequest
1 голос
/ 21 сентября 2019

У меня есть сценарий 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команда, та же ошибка генерируется в исходной команде.

Спасибо!

...