Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在闪亮的应用程序中刷新数据_R_Shiny - Fatal编程技术网

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

R 在闪亮的应用程序中刷新数据,r,shiny,R,Shiny,我正在构建一个闪亮的应用程序,它连接到4个不同的SQL数据库和3个不同的API来下载数据。我已经通过每4小时执行一次的R脚本安排了数据收集操作。该脚本将数据存储为包含18个不同数据帧的Rdata文件 当应用程序启动且运行正常时,闪亮应用程序的global.R文件使用load(“data/data.Rdata”)加载此数据 但是,为了刷新数据,我认为reactivePoll是我需要的。但我不知道该怎么做。这是我在global.R文件中尝试的,但不起作用: reactivePoll(144000

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

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


此处提供了关于将负载与无功相结合的讨论->

您最好通过
cron作业
任务调度器
来实现这一点。为了让
reactivePoll
做到这一点,你的应用程序不能处于空闲状态,这并不好implementation@PorkChop已通过
cron作业下载数据。我就是不知道如何在闪亮的应用程序中更新数据。