reactivePoll
reactivePoll(intervalMillis, session, checkFunc, valueFunc)Arguments
| intervalMillis | Approximate number of milliseconds
  to wait between calls to checkFunc. This can be
  either a numeric value, or a function that returns a
  numeric value. | 
|---|---|
| session | The user session to associate this file
  reader with, or NULLif none. If non-null, the
  reader will automatically stop when the session ends. | 
| checkFunc | A relatively cheap function whose values
  over time will be tested for equality; inequality
  indicates that the underlying value has changed and needs
  to be invalidated and re-read using valueFunc. See
  Details. | 
| valueFunc | A function that calculates the underlying value. See Details. | 
Reactive polling
Value
A reactive expression that returns the result of valueFunc,
  and invalidates when checkFunc changes.
Description
Used to create a reactive data source, which works by periodically polling a non-reactive data source.
Details
reactivePoll works by pairing a relatively cheap "check" function with
a more expensive value retrieval function. The check function will be
executed periodically and should always return a consistent value until the
data changes. When the check function returns a different value, then the
value retrieval function will be used to re-populate the data.
Note that the check function doesn't return TRUE or FALSE to
indicate whether the underlying data has changed. Rather, the check function
indicates change by returning a different value from the previous time it was
called.
For example, reactivePoll is used to implement
reactiveFileReader by pairing a check function that simply returns the
last modified timestamp of a file, and a value retrieval function that
actually reads the contents of the file.
As another example, one might read a relational database table reactively by
using a check function that does SELECT MAX(timestamp) FROM table and
a value retrieval function that does SELECT * FROM table.
The intervalMillis, checkFunc, and valueFunc functions
will be executed in a reactive context; therefore, they may read reactive
values and reactive expressions.
Examples
## <strong>Not run</strong>: # # Assume the existence of readTimestamp and readValue functions # shinyServer(function(input, output, session) { # data <- reactivePoll(1000, session, readTimestamp, readValue) # output$dataTable <- renderTable({ # data() # }) # }) # ## <strong>End(Not run)</strong>
See also
reactiveFileReader