Description Usage Arguments Details Value See Also Examples
Used to create a reactive data source, which works by periodically polling a non-reactive data source.
| 1 | reactivePoll(intervalMillis, session, checkFunc, valueFunc)
 | 
| intervalMillis | Approximate number of milliseconds to wait between
calls to  | 
| session | The user session to associate this file reader with, or
 | 
| 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 | A function that calculates the underlying value. See 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.
A reactive expression that returns the result of valueFunc,
and invalidates when checkFunc changes.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | function(input, output, session) {
  data <- reactivePoll(1000, session,
    # This function returns the time that log_file was last modified
    checkFunc = function() {
      if (file.exists(log_file))
        file.info(log_file)$mtime[1]
      else
        ""
    },
    # This function returns the content of log_file
    valueFunc = function() {
      read.csv(log_file)
    }
  )
  output$dataTable <- renderTable({
    data()
  })
}
 | 
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.