我有一个闪亮的应用程序,它将数据从 SQL 查询到数据帧中,然后从我的闪亮服务器()块中引用这些数据帧。到目前为止,我只在 RStudio 中运行它,因此每当我需要新数据时,我只需重新启动应用程序,然后在服务器加载之前它将获取所有新数据。
我想将应用程序转换到闪亮的服务器,但我不确定如何引导它定期获取新数据。为了界面的缘故,我希望它是自动的,而不是让用户单击按钮来启动加载。有一个惯用的解决方案吗?
EDIT:
我想我找到了适合我的解决方案。
shinyServer(function(input,output,session){
sourceData <- reactive({
invalidateLater(1000000,session)
functionThatGetsData()
})
})
最聪明的可能是使用reactivePoll https://shiny.rstudio.com/reference/shiny/latest/reactivePoll.html
如果您可以进行快速查询来检测是否有新数据。事实上,就在今天,这对我来说非常有效。
reactivePoll shiny
反应式轮询
描述
用于创建反应性数据源,其通过定期轮询非反应性数据源来工作。
Usage
reactivePoll(intervalMillis, session, checkFunc, valueFunc)
论点
intervalMillis
两次调用之间等待的大约毫秒数checkFunc
。他可以是数值,也可以是返回数值的函数。
session
与此文件读取器关联的用户会话,或者NULL
如果没有。如果非空,则阅读器将在会话结束时自动停止。
checkFunc
A relatively cheap function whose values over time will be tested for equality; nequality indicates that the underlying value has changed and needs to be invalidated and re-ead using valueFunc
. See Details.
valueFunc
计算基础价值的函数。查看具体信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)