我正在构建一个闪亮的应用程序,该应用程序连接到4个不同的SQL数据库和3个不同的API以下载数据。我已经安排了每4小时执行一次R脚本的数据收集操作。该脚本将数据存储为包含18个不同数据帧的Rdata文件。
启动应用程序且应用程序正常运行后,闪亮应用程序的global.R
文件将使用load("data/data.Rdata")
加载此数据。
但是,为了刷新数据,我假设需要reactivePoll
。但是不确定如何进行。这是我在global.R
文件中尝试过的方法,该文件不起作用:
reactivePoll(14400000,session = NULL,
checkFunc = function() {
if (file.exists("data/data.Rdata"))
file.info("data/data.Rdata")$mtime[1]
else
""
},
valueFunc = function() {
load("data/data.Rdata")
})
答案 0 :(得分:0)
问题在于您正在使用load
来获取数据,这会将数据作为副作用而放入内存。 reactPoll的示例使用一个返回值的函数。
此处提供了有关将负载与电抗相结合的讨论-> Reading an RData file into Shiny Application