У меня блестящее приложение, работающее на локальном сервере, доступное через веб-браузер через «ip-adres: порт».У меня запланирована задача в планировщике задач, которая выполняет следующий код (путь: "C: //Users//Administrator//Documents//run.R"
require(shiny)
folder_address = "C://Users//Administrator//Documents//App//app.R"
x <- system("ipconfig", intern = TRUE)
z <- x[grep("IPv4", x)]
ip <- gsub(".*? ([[:digit:]])", "\\1", z)
runApp(folder_address, launch.browser = FALSE, port = 1234, host = ip)
Задача выполняется очень хорошо,так как я могу получить доступ к приложению через «ip: порт».
В начале app.R
я вручную загружаю рабочее пространство: load("C://Users//Administrator//Documents//App//.RData")
. Когда я не загружаю его вручную, приложение выигралоне распознает переменные / фреймы данных приложения.
Моя проблема заключается в следующем:
- Задача запускается каждое утро. Когда мы запускаем задачу только один раз, она можетможет случиться так, что на сервере будет обновление или около того, и он перезапустится. Таким образом, приложение больше не будет запускаться.
- Когда задача выполняется на следующий день после внесения изменений в приложение (то есть переменныхи кадры данных были изменены), он загружает рабочее пространство снова.
- Это рабочее пространство не содержит отредактированные данные, поскольку рабочее пространство не сохраняется автоматически после редактирования.
- Когда я вручную ставлю
save.image(".RData")
в app.R
о событиях, которые инициируютПосле редактирования данных, таких как кнопки, сохраняется рабочее пространство run.R
, в результате чего меняются переменные x
, z
, ip
и folder_address
.
Как я могусохранить рабочую область приложения, а не рабочую область run.R
?Обходной путь должен состоять в том, чтобы сеть позволяла заданию запускаться каждый день и просто открывалась.Но тогда нам придется вручную перезапустить задачу, как только она остановит, например, обновление.