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

Posted

技术标签:

【中文标题】在指定的时间内运行闪亮的应用程序【英文标题】:run shiny app for specified amount of time 【发布时间】:2019-05-20 04:44:33 【问题描述】:

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

这可能吗?

【问题讨论】:

【参考方案1】:

您可以使用invalidateLaterstopApp

变量now是在服务端函数外定义的,所以会在启动时执行并捕获启动时间。

此示例每 1000 毫秒重新执行一次观察者,并测试新的 Sys.time() 是否大于 Starttime (now) 加 10 秒。要将其更改为 1 小时,您必须将 now + 10now + 3600 交换。例如,您还可以将 invalidateLater 增加到 30 分钟 (invalidateLater(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)

【讨论】:

以上是关于在指定的时间内运行闪亮的应用程序的主要内容,如果未能解决你的问题,请参考以下文章

在 R 闪亮的日期范围内传递 SQl 查询

如何指定闪亮服务器的主机 IP 地址

运行冗长闪亮的应用程序时网络超时

在 Rstudio 之外运行闪亮的应用程序

如何安排闪亮的模块文件,以便它们在闪亮的服务器上运行?

无法在闪亮的服务器上部署闪亮的应用程序