如何使用Shiny应用程序实时监视对文件系统(或其他外部事件)的更改?例如,假设我有一个仪表板应用程序,它提供有关服务器上文件的统计信息。当这些文件更改或添加了新文件时,我想实时更新我的​​统计信息。

我的想法是在客户端上使用Javascript定期轮询服务器。例如,每隔10秒,我可能会调用Shiny.setInputValue("check.fs", 1, {priority: "event"});,然后在服务器上使用observeEvent(input$check.fs, { ... }),这将更新反应式。

还有其他想法吗?有没有办法仅在没有javascript的服务器上执行此操作?

最佳答案

Shiny有一个名为invalidatelater的函数,通过它可以使给定的反应性上下文无效。这使得可以以一定间隔重新评估功能。

https://shiny.rstudio.com/reference/shiny/1.0.5/invalidateLater.html

希望这可以帮助!

关于r - 如何在Shiny应用程序中监视文件系统事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50492244/

10-13 03:07