Интеграция Rscript и Nodejs на Ubuntu Server - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь создать приложение js для узла, в котором я вызываю rscript для выполнения некоторых статистических вычислений и возвращаю массив с 8 элементами, которые затем я возвращаю в nodejs, чтобы мы могли отобразить эти элементы на страницах ejs.

Я успешно могу сделать это на локальном хосте, все работает нормально, и даже rscript работает и возвращает результат, но когда мы пытаемся сделать то же самое на сервере ubuntu, мы не получаем никаких console.log (out)на нашем терминале (out - переменная, которая получает выходные данные из rscript), мы получаем ноль.

Мы вызываем скрипт на локальном хосте и сервере так же, как показано на рисунке.

`console.log(data);
var out = rscript(abc.R)
.data(data.xyz,data.abc)
.callSync();
console.log(out);`

В приведенном выше коде мы получаем json в переменной data, и он также выдает журнал как на локальном сервере, так и на сервере.

Я установил все необходимые библиотеки, такие как rscirpt, внутри nodejs, используяnpm, и я уже установил R и Rstudio на мой сервер Ubuntu и установил все библиотеки, необходимые для запуска rscript.

rscript находится в той же папке, где мой index.js - все страницы ejs.хранятся в другой папке, к которой приложение узла может получить доступ и отображать их тоже.

1 Ответ

0 голосов
/ 20 марта 2019

Вам нужно будет развернуть свой R-сценарий где-нибудь еще, а затем вызвать этот R-сценарий, используя вызовы API в файле сервера вашего узла.

Одна из служб, которую вы можете использовать для вызова rscript как API в узле.АлгоритмВам просто нужно будет следовать их инструкциям и обернуть весь свой код внутри функции.Он будет отображаться в качестве примера после создания проекта R.

...