【问题标题】:refresh Rmarkdown report on user access刷新关于用户访问的 Rmarkdown 报告
【发布时间】:2017-10-23 04:02:56
【问题描述】:

获得了关于服务器正常工作的 Rmarkdown 报告。用户正在通过指向此 URL 上的服务器(安装了 rstudio 服务器 + Shiny 服务器)的浏览器查看此报告:

http://RmarkdownReportServer:3838/cash_report/

服务器正在渲染 index.Rmd,但未使用最近的数据进行更新。要更新报告,我必须在服务器上打开 Rstudio 并强制 Knitr 报告。

也许我错了,但我假设如果数据更改 Rmd 将使用新数据呈现。

对于每次用户访问报告站点时强制服务器使用最新数据刷新报告有什么建议吗?

问候

【问题讨论】:

    标签: r knitr r-markdown


    【解决方案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 安排更新,但这是一种解决方法。

    【讨论】:

      【解决方案2】:

      使用 funr 没有用,只需使用 Rcpp 触发 cronjob:

      Rscript -e 'rmarkdown::render("/path_to_rmd/input.Rmd", output_file="output.html", output_dir="/path/to/outdir/")'
      

      【讨论】:

        猜你喜欢
        • 2013-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多