【问题标题】:R Shiny reactive time to trigger at specific time and not specific intervalR闪亮的反应时间在特定时间而不是特定间隔触发
【发布时间】:2017-10-20 21:01:50
【问题描述】:

希望是一个简单的问题。我在一个运行良好的闪亮应用中有这样一行:

autoInvalidate <- reactiveTimer(120000)

无论如何设置一个事件以每 5 分钟执行一次,而不仅仅是设置间隔?因此,例如,如果应用程序在下午 6:03 启动,它将在下午 6:05、下午 6:10 和下午 6:15 等执行反应元素。

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    这可能取决于您尝试更新的反应元素,但您可以通过反应轮询和lubridate 包中的floor_date 来完成此操作。

    因此,您将拥有一些依赖于 reactivePoll 函数提供的数据的反应元素,并且此数据每 5 分钟更新一次,如下所示:

    data <- reactivePoll(intervalMillis = 60000, session,
                            checkFunc = function() {
                              #check the time, rounded down to the previous 5 minute interval
                              lubridate::floor_date(Sys.time(), "5 mins")
                            },
    
                            valueFunc = function() {
                              #if checkFunc value has changed since the last check, return some updated value or updated dataset
                              get_value()                          
                            }
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-20
      • 1970-01-01
      • 2013-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-21
      相关资源
      最近更新 更多