在服务器上运行正常的Rmarkdown报告。用户通过此URL上指向服务器的浏览器(安装了rstudio服务器+ Shiny服务器)查看此报告:
http://RmarkdownReportServer:3838/cash_report/
服务器正在呈现 index.Rmd ,但未使用最新数据进行更新。要更新报告,我必须在服务器上打开Rstudio并强制Knitr报告。
也许我错了,但我认为如果数据发生变化,Rmd将使用新数据进行渲染。
有关每次用户访问报告网站时强制服务器刷新包含最新数据的报告的任何建议吗?
此致
答案 0 :(得分:1)
找到一种方法,使用在命令行包装R代码的包(funr)。看看提供的示例,它涵盖了您遇到的这个问题:
Knit a HTML file using a example R markdown input from knitr package:
## get path to an example Rmd file. Assuming we have knitr installed.
## Save the filename in a BASH variable rmd
## Pipes are supported starting version 0.1.2
funr system.file package=knitr fl=examples/knitr-minimal.Rmd | funr knitr::knit2html input=-
来源在这里:
https://github.com/sahilseth/funr
无论如何,您必须通过cron安排更新,但这是一种解决方法。
答案 1 :(得分:0)
使用funr没有用,只需使用Rcpp触发cronjob:
Rscript -e 'rmarkdown::render("/path_to_rmd/input.Rmd", output_file="output.html", output_dir="/path/to/outdir/")'