R 在指定的时间内运行应用程序

R 在指定的时间内运行应用程序,r,shiny,rstudio,R,Shiny,Rstudio,我只想运行shinyApp一个小时,然后我希望我的应用程序自动停止运行,而不是手动点击Rstudio中的红色停止按钮 可能吗 您可以使用invalidateLater和stopApp 变量now在服务器函数之外定义,因此它将在启动时执行并捕获启动时间 此示例每1000毫秒重新执行一次观察程序,并测试新的Sys.time()是否大于开始时间(now)加上10秒。要将其更改为1小时,您必须将now+10与now+3600交换。例如,您还可以将InvalidateRater增加到30分钟(Invali

我只想运行shinyApp一个小时,然后我希望我的应用程序自动停止运行,而不是手动点击Rstudio中的红色停止按钮


可能吗

您可以使用
invalidateLater
stopApp

变量
now
在服务器函数之外定义,因此它将在启动时执行并捕获启动时间

此示例每1000毫秒重新执行一次观察程序,并测试新的
Sys.time()
是否大于开始时间(
now
)加上10秒。要将其更改为1小时,您必须将
now+10
now+3600
交换。例如,您还可以将InvalidateRater增加到30分钟(
InvalidateRater(1800000)

10秒后,它跳入if状态并停止应用程序

library(shiny)

ui <- fluidPage(
  sliderInput("test", "test", 1, 100, 1, 1)
)

now <- Sys.time()

server <- function(input, output, session) {
  observe({
    invalidateLater(1000)
    print(paste("Actual Time: ", Sys.time(), " - Endtime: ", now + 10))
    if (Sys.time() > now + 10) {
      print("Stop the App")
      stopApp()
    }
  })
}

shinyApp(ui, server)
库(闪亮)
用户界面