Rscript не запускает сервер httpuv

#r #ubuntu #rscript #httpuv

#r #ubuntu #rscript #httpuv

Вопрос:

Я пытаюсь запустить сервер, используя startServer() из httpuv пакета через Rscript в Ubuntu 20.04. Сервер будет привязан к порту, если я запускаю create_server.R из RStudio или если я запускаю из командной строки R интерфейс, но когда я пытаюсь:

 Rscript create_server.R > outfile.Rout
  

похоже, что файл выполнен, но порт не привязан и сервер не создан.

Однако в интерфейсе R будет выполняться и привязываться следующий порт:

source('create_server.R')

Кто-нибудь знает, почему запуск скрипта с использованием Rscript не работает или как запустить постоянный сервер httpuv с терминала?

Содержимое .Rout файла говорит, что он был запущен:

 <WebServer>
  Inherits from: <Server>
  Public:
    getHost: function () 
    getPort: function () 
    getStaticPathOptions: function () 
    getStaticPaths: function () 
    initialize: function (host, port, app, quiet = FALSE) 
    isRunning: function () 
    removeStaticPath: function (path) 
    setStaticPath: function (..., .list = NULL) 
    setStaticPathOption: function (..., .list = NULL) 
    stop: function () 
  Private:
    appWrapper: AppWrapper, R6
    handle: 140156258489016
    host: 127.0.0.1
    port: 5001
    running: TRUE
  

Спасибо.

Ответ №1:

Похоже, вам нужно использовать runServer() , а не startServer() если вы надеетесь запустить с помощью Rscript.