我有 Shiny 的应用程序,它显示旧数据(延迟 4 天!),但服务器数据已刷新(当天)。
奇怪的是,服务器上不存在旧数据集 - 似乎只存在于 Shiny 缓存中。
在服务器上,我有 1 个数据集由 cron 在 5 月 18 日完成,1 个数据集由 5 月 24 日手动刷新完成。但是应用程序中的数据来自 5 月 20 日!在报告中,我显示了数据集创建时间的日期——这就是我知道数据不再存在的原因。
是否可以以某种方式重置 Shiny 缓存?
对于其他一些报告,我也有类似的问题。对于某些报告来说,这很奇怪,对于一些没有...
最佳答案
我发现当文件“app.R”的创建日期更改时,R Shiny 服务器的缓存也会更新。
所以,这是我使用的技巧:
server <- function(input, output, session) {
# Trick file date creation update
onStop(function() {
# File name
p <- paste0(getwd(), "/app.R")
# Update file 'date creation'
Sys.setFileTime(p, now())
}) # onStop
...
} # server
这个想法是在每次 session 之后更新“app.R”创建的日期。
关于shiny - R Shiny 应用程序显示旧数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37408072/