用于常规读取数据的闪亮模块(不是由新会话触发
shiny module for regular read data (not triggered by new session
刚刚结束模块化我闪亮的应用程序,但我有一个问题:
我的应用整天 运行,一些用户通过网络浏览器来咨询它。
我创建了一个模块来读取 csv,我每 30 分钟通过 reactivetimer 调用该模块。
问题是调用模块在服务器内,每个新会话都会触发我的模块并重新读取数据。
在模块化之前,我将所有 read.csv 放在服务器之外,如下所示:
https://shiny.rstudio.com/articles/scoping.html
refreshTimer <- reactiveTimer(1800000)#1800000ms pour 30min; timer pour relancer une importation
######### serveur #######
shinyServer(function(input, output,session) {
observe({
refreshTimer()
r$data<-callModule(module = module_import_CSV_30min, id = "module_import_CSV_30min")
})
整晚都在寻找解决方案,但没有找到。
任何假设?
谢谢
嗨,我终于找到了“解决方案”。
事实上,我们不能使用模块为所有会话导入数据。
我们必须将它变成 global.R on in server.R(在 shinyserver 之外)。因为模块只能调用 shinyserver 并且每个新会话都会再调用一次模块。
感谢您的帮助。
刚刚结束模块化我闪亮的应用程序,但我有一个问题: 我的应用整天 运行,一些用户通过网络浏览器来咨询它。 我创建了一个模块来读取 csv,我每 30 分钟通过 reactivetimer 调用该模块。 问题是调用模块在服务器内,每个新会话都会触发我的模块并重新读取数据。 在模块化之前,我将所有 read.csv 放在服务器之外,如下所示: https://shiny.rstudio.com/articles/scoping.html
refreshTimer <- reactiveTimer(1800000)#1800000ms pour 30min; timer pour relancer une importation
######### serveur #######
shinyServer(function(input, output,session) {
observe({
refreshTimer()
r$data<-callModule(module = module_import_CSV_30min, id = "module_import_CSV_30min")
})
整晚都在寻找解决方案,但没有找到。 任何假设? 谢谢
嗨,我终于找到了“解决方案”。 事实上,我们不能使用模块为所有会话导入数据。 我们必须将它变成 global.R on in server.R(在 shinyserver 之外)。因为模块只能调用 shinyserver 并且每个新会话都会再调用一次模块。 感谢您的帮助。