我有一个闪亮的应用程序,它将SQL中的数据查询到数据框中,然后从我的shinyServer()块中引用这些数据框.到目前为止,我一直只在RStudio中运行它,因此每当我需要新数据时,我只是重新启动应用程序,在服务器加载之前,它将获取所有新数据.
我想将应用程序转换为闪亮的服务器,但我不确定如何诱导它定期获取新数据.为了界面,我希望它是自动的,而不是让用户点击按钮来启动加载.这有一个惯用的解决方案吗?
编辑:
我想我找到了一个适合我的解决方案.
shinyServer(function(input,output,session){
sourceData <- reactive({
invalidateLater(1000000,session)
functionThatGetsData()
})
})
Run Code Online (Sandbox Code Playgroud)
Jan*_*rup 23
reactivePoll如果您可以快速查询以检测是否有新数据,那么最聪明的可能就是使用.实际上,这对我来说非常好.
reactivePoll shiny反应性投票
描述
用于创建活动数据源,通过定期轮询非活动数据源来工作.
用法
reactivePoll(intervalMillis, session, checkFunc, valueFunc)参数
intervalMillis呼叫之间等待的大约毫秒数
checkFunc.他是一个数值,或一个返回数值的函数.session用于将此文件读取器与之关联的用户会话
NULL.如果非null,则读者将在会话结束时自动停止.checkFunc一个相对便宜的函数,其值随着时间的推移将被测试为相等; nequality表示基础值已更改,需要使其无效并重新使用valueFunc.查看详细信息.valueFunc计算基础值的函数.查看详细信息.
Mat*_*rde 10
你在找invalidateLater.以适当的间隔将其放入从数据库中检索数据的反应式表达式中.