我有一个闪亮的应用程序在本地服务器上运行,可以通过“IP地址:端口”通过Web浏览器访问。我在任务规划器中安排了一个任务,它执行以下代码(路径:“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:port”访问应用程序。
开始时
app.R
我手动加载工作区:
load("C://Users//Administrator//Documents//App//.RData")
.
当我不手动加载时,应用程序将无法识别应用程序的变量/数据帧。
我的问题是:
-
该任务计划每天早上运行。当我们只运行一次任务时,可能会发生服务器有更新或更新,然后重新启动的情况。这样,应用程序就不再运行了。
-
当任务在应用程序中进行编辑后的第二天运行时(即变量和数据帧已更改),它将再次加载工作区。
-
此工作区不包含已编辑的数据,因为编辑后工作区不会自动保存。
-
当我手动放置
save.image(".RData")
在里面
应用程序
对于触发数据编辑的事件(如按钮),它将保存
run.R
,将变量留给我
x
,
z
,
ip
和
folder_address
.
如何保存应用程序的工作区,而不是
奔跑
?一个解决方法是让任务每天运行,然后让它打开。但是,例如,当任务因更新而停止时,我们就必须手动重新运行它。