R Shiny Server - 在应用程序启动时设置加载动画

R Shiny Server - set a loading animation on application startup

我过去使用过 shinyapps.io,它在应用程序启动时提供加载动画(微调器)。这很有用,因为我将 200MB 的 .RData 文件加载到内存中(启动时一次,而不是每个 server())。这最多需要 40 秒(将来,我将过渡到将数据存储在数据库中,但现在这就是我得到的)。

对于其他应用程序,我使用了 docker 图像 rocker/shiny 并希望完全过渡到基于 Docker 的方法并将我所有闪亮的应用程序放在一台服务器上并且远离 shinyapps.io。但是,我对这个应用程序有一个问题是它 在启动时不显示加载动画 因此用户在 30-40 秒内会看到灰色屏幕,而数据在后台加载。

至于代码,我加载所有数据,然后在 运行 shiny::shinyApp(ui = ui, server = server).

之前获取 ui.Rserver.R

你们中有人知道在应用程序启动时指定加载动画的方法吗(我在服务器配置本身中没有找到任何东西,但我可能忽略了一些东西)?或者您是否找到了一个很好的解决方法来达到预期的结果?

所以我最后做的是遵循这里建议的解决方法:http://www.mazsoft.com/blog/post/2018/01/01/show-progress-bar-when-pre-loading-data-in-shiny-app

我们的想法是我们用 NULL 初始化所有数据变量。然后在 serverui 之外有一个 readData() 函数,我们将所有数据加载到全局变量中,在 server 函数块的开头我们检查是否有一个我们的数据变量 is.null() 会导致我们调用 readData() 函数。

对于我的问题来说这是一个很好的解决方案,因为它是一个很好的解决方法,但我无法弄清楚如何在启动时实际显示加载动画,只是在加载数据时。我希望这可以帮助有类似问题的人。