R 避免重新计算时数据表变灰

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

我有一个非常简单的Shining应用程序来显示Shining服务器的CPU使用率和可用内存:

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)