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