重新加载应用程序时是否可以清除闪亮的缓存历史记录?具体来说,我有一个用于添加标题的 textInput,该标题在应用程序重新启动时不会清除。换句话说,之前运行时输入应用程序的所有标题都已被“记住”,并在应用程序重新运行或重新启动时显示在下拉列表中。我尝试过使用shinyjs::reset,但这会清除当前值,而不是“历史记录”中的值。我还尝试使用 updateTextInput 将操作按钮设置为“”,但也仅清除当前值,而不清除“历史记录”中的值。我还尝试使用以下方法将 ui 设置为函数:
ui<- function(req) { fluidPage(...) }
以及:
我发现当文件“app.R”的创建日期更改时,R Shiny 服务器的缓存也会更新。
所以,这是我使用的技巧:
服务器<- function(input, output, session) {
技巧文件创建日期更新 onStop(函数() {
# File name
p <- paste0(getwd(), "/app.R")
# Update file 'date creation'
Sys.setFileTime(p, now())
}) # onStop
} # 服务器 这个想法是在每次会话后更新“app.R”创建的日期。
这些解决方案都不适合我。终于找到这个帖子了:
我还发现了这篇文章:
我已经在这个问题上挣扎了很长一段时间,并认为我已经尝试了一切,包括在闪亮的侧边栏上放置一个 js 按钮来手动刷新(不幸的是,这也不起作用)。有两件事对我有用:
确保从文件读取数据的所有代码都不位于名称为
global
OR 以外的代码块中
新数据上传时手动重启shiny服务器
显然第一个更易于管理,我希望几周前当我开始使用变通方法时就知道这个解决方案。
但我不确定实施其中涉及什么,所以如果有人能澄清这一点,那就太好了。
任何帮助将不胜感激。
今天之后,我修复了它: 按照这个: 首先:你应该使用 crontab 来安排时间工作; 然后:添加以下 R 代码: 文件路径<- "ui.R" ## remermer use Absolute Path and chmod 666 ui.R lines <- readLines(file_path) new_line <- paste0("print('up last time ", substr(as.character(Sys.time()), 1, 19), "')") lines <- c(new_line, lines) writeLines(lines, file_path)