在闪亮的应用程序中刷新数据

时间:2018-07-12 12:07:31

标签: r shiny

我正在构建一个闪亮的应用程序,该应用程序连接到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")
               })

1 个答案:

答案 0 :(得分:0)

问题在于您正在使用load来获取数据,这会将数据作为副作用而放入内存。 reactPoll的示例使用一个返回值的函数。

此处提供了有关将负载与电抗相结合的讨论-> Reading an RData file into Shiny Application