Каков наилучший способ обновить подключение для передачи данных в R Shiny Flexdashboard? - PullRequest
0 голосов
/ 30 октября 2019

У меня есть работающее приложение Shiny, которое находится на flexdashboard. Я не смог найти лучший способ автоматического обновления подключения к данным каждые 15 минут.

Я использую специальную функцию для чтения файла CSV (пропуская 3 строки), поэтому я неконечно, как продолжить.

---
title: "Dashboard"
output: 
flexdashboard::flex_dashboard:
orientation: rows
veritcal_layout: scroll
source_code: embed
runtime: shiny
---


Row {data-height=650}
-------------------------------------

### DataGraph 1
 library(flexdashboard)
 library(readr)
 library(lubridate)

 ez.read = function(file, ..., skip.rows=NULL, tolower=FALSE){
 if (!is.null(skip.rows)) {
     tmp = readLines(file)
     tmp = tmp[-(skip.rows)]
     tmpFile = tempfile()
     on.exit(unlink(tmpFile))
     writeLines(tmp,tmpFile)
     file = tmpFile
 }
 result = read.csv(file, ...)
 if (tolower) names(result) = tolower(names(result))
 return(result)
}

data <- ez.read("last8hours.csv", skip.rows = 2:3, tolower = T))
data$x <- as.POSIXct(data$x, format= "%d-%b-%Y %H:%M")
datah <- ez.read("last24.csv", skip.rows = 2:3, tolower = T)
datah$x <- as.POSIXct(datah$x, format= "%d-%b-%Y %H:%M")

Я хотел бы либо обнаруживать изменения файла, либо планировать обновление данных и соединений datah каждые 15 минут. Каков наилучший способ добиться этого и как это может выглядеть с функцией, которую я использую для чтения файлов CSV?

...