我正在做一个每30分钟自动刷新一次的仪表板。
思路是每30分钟自动执行一个函数,将输出保存在csv文件中,然后根据生成的csv文件绘制图形。
30分钟后,再做一遍。这一次图形应该基于最新生成的csv文件。
(我仍然在从SQL中检索新的数据集,让我们首先关注这一部分)
仪表板框架差不多完成了。但是我不知道如何让它每30分钟重新运行一次功能来显示最新的结果。
是否有办法定期执行该函数,然后根据最新的输出绘制图形?我试过taskscheduler,但是它不起作用。
我已经编写了代码,以便结果将导出到csv文件,文件以时间戳命名(用于记录目的)。这意味着每30分钟就会生成一个新文件。如何根据新生成的csv文件绘制图形?
data_frame <- data.frame (
x = c(5, 7, 9, 14, 15),
y = c(6, 8, 10, 16, 4)
)
function_a <- function(x,y){
a<- x*y
return(a)
}
output<-function_a(data_frame, data_frame)
str1<-'function_test.csv'
write.csv(output, file = paste0(sub('\..*', ' ', str1), format(Sys.time(),'%d_%m__%H_%M'), '.csv'))
fig <- plot_ly(output, x = ~x, y = ~y,
name = 'Measured COD', type = 'scatter', mode = 'lines+markers',
line = list(color = 'rgb(205, 12, 24)', width = 2))
fig <- fig %>% layout(title = "Effluent COD",
xaxis = list(title = "Days"),
yaxis = list (title = "Concentration (mg/L)"))
fig
这只是一个简单函数的例子,我正在测试哪个方法可以工作。
非常感谢帮助!
就我对你的问题的理解,这就是你所需要的。如何从SQL调用CSV文件是另一回事函数/脚本的执行间隔为30分钟在while循环中可以延迟执行多少分钟
while (T){
output<-function_a(data_frame, data_frame)
str1<-'function_test.csv'
write.csv(output, file = paste0(sub('\..*', ' ', str1), format(Sys.time(),'%d_%m__%H_%M'), '.csv'))
paste0(sub('\..*', ' ', str1), format(Sys.time(),'%d_%m__%H_%M'), '.csv')
x11(); plot(output$x, output$y) # simplified plotting
Sys.sleep(1) # 1800 for 30 min intervals
}