R блестящее странное поведение кэширования

#r #ggplot2 #shiny

#r #ggplot2 #блестящий

Вопрос:

Я использую R shiny и ggplot2 .

Мой макет проекта выглядит следующим образом:

 global.R
server.R
ui.R
visualization.R
 

Мой visualization.R

 image <- png::readPNG(source = '/path/mypng.png', native = FALSE)
ggplot(data = data)  
background_image(image)
 

Как только я изменил путь к изображению, изображение было изменено, как я и ожидал. Когда я запускаюсь visualization.R как настольное приложение, R studio оно работает нормально. Но, когда я запускаю server.R изображение файла Shiny, оно не обновляется. Он всегда считывает одно и то же изображение, в то время как путь к изображению обновляется. Я не понимаю, почему.

В R studio , я также запустил скрипт rm(list = ls())

Есть идеи?

Спасибо!

Комментарии:

1. что находится в global.R ? вызывает ли он visualization.R?

2. global.R не вызывает visualization.R. Он просто содержит пакеты, которые необходимо установить.

3. Итак, когда ваша «визуализация. R» вызывается?

4. server.R вызывает его. визуализация. Сам R содержит image_path, но загружается другой (старый путь к изображению). Я не знаю, что произошло.

5. Сервер, вероятно, не проверяет, изменяется ли этот файл. Чтобы заставить shiny-server полностью перезагрузить приложение, добавьте пустой текстовый файл с именем restart.txt в том же каталоге, что и ui.R, и т. Д. Это говорит shiny-server полностью перезагрузить приложение для следующего пользователя. Если вам нужно обновить изображение во время сеанса пользователя, вы должны отобразить его напрямую, а не зависеть от shiny, чтобы заметить, что файл изменился во время сеанса. Если вам нужно принудительно выполнить еще один полный перезапуск, вам необходимо заменить restart.txt файл. Блестящий просматривает временную метку.