R 避免重新计算时数据表变灰
我有一个非常简单的Shining应用程序来显示Shining服务器的CPU使用率和可用内存:R 避免重新计算时数据表变灰,r,shiny,dt,R,Shiny,Dt,我有一个非常简单的Shining应用程序来显示Shining服务器的CPU使用率和可用内存: ui <- fluidPage( titlePanel('Shiny Server Monitor'), DT::dataTableOutput("cpu") ) server <- function(input, output, session) { output$cpu <- DT::renderDataTable({ invalidateLater(1
ui <- fluidPage(
titlePanel('Shiny Server Monitor'),
DT::dataTableOutput("cpu")
)
server <- function(input, output, session) {
output$cpu <- DT::renderDataTable({
invalidateLater(1000)
system("free -h > top.log")
system("uptime > uptime.log")
free <- readLines("top.log")
uptime <- readLines("uptime.log")
mem = strsplit(free, " ")
available_mem =tail(mem[[2]],n=1)
# I have 6 cores so normalized by deviding the load avarage to 6.
load_ave = round(as.numeric(unlist(strsplit(unlist(strsplit(uptime, ","))[4],":"))[2])/6*100,2)
dat = data.frame(load_ave,available_mem)
colnames(dat) = c("CPU usage [%]", "Available memory [Gb]")
DT::datatable(dat,rownames= FALSE)
})
}
ui尝试添加
tags$style(type="text/css", ".recalculating {opacity: 1.0;}")
到您的fluidPage
编辑:
抱歉,以上内容适用于绘图输出
。关于您的datatable
,您需要将其设置为客户端表(在renderDataTable
中添加server=FALSE
):
库(闪亮)
它不会改变任何东西!当你试图回答手机上的问题时,就会发生这种情况。请查看我的(已验证)编辑。
library(shiny)
ui <- fluidPage(
titlePanel('Shiny Server Monitor'),
DT::dataTableOutput("cpu")
)
server <- function(input, output, session) {
output$cpu <- DT::renderDataTable({
invalidateLater(1000)
system("free -h > top.log")
system("uptime > uptime.log")
free <- readLines("top.log")
uptime <- readLines("uptime.log")
mem = strsplit(free, " ")
available_mem =tail(mem[[2]], n=1)
# I have 6 cores so normalized by deviding the load avarage to 6.
load_ave = round(as.numeric(unlist(strsplit(unlist(strsplit(uptime, ","))[4],":"))[2])/6*100,2)
dat = data.frame(Sys.time(), load_ave, available_mem)
colnames(dat) = c("CPU usage [%]", "Available memory [Gb]")
DT::datatable(dat, rownames= FALSE)
}, server = FALSE)
}
shinyApp(ui = ui, server = server)