onStop {shiny} | R Documentation |
Run code after an application or session ends
Description
This function registers callback functions that are invoked when the
application exits (when runApp()
exits), or after each user
session ends (when a client disconnects).
Usage
onStop(fun, session = getDefaultReactiveDomain())
Arguments
fun |
A function that will be called after the app has finished running. |
session |
A scope for when the callback will run. If |
Value
A function which, if invoked, will cancel the callback.
See Also
onSessionEnded()
for the same functionality, but at
the session level only.
Examples
## Only run this example in interactive R sessions
if (interactive()) {
# Open this application in multiple browsers, then close the browsers.
shinyApp(
ui = basicPage("onStop demo"),
server = function(input, output, session) {
onStop(function() cat("Session stopped\n"))
},
onStart = function() {
cat("Doing application setup\n")
onStop(function() {
cat("Doing application cleanup\n")
})
}
)
}
# In the example above, onStop() is called inside of onStart(). This is
# the pattern that should be used when creating a shinyApp() object from
# a function, or at the console. If instead you are writing an app.R which
# will be invoked with runApp(), you can do it that way, or put the onStop()
# before the shinyApp() call, as shown below.
## Not run:
# ==== app.R ====
cat("Doing application setup\n")
onStop(function() {
cat("Doing application cleanup\n")
})
shinyApp(
ui = basicPage("onStop demo"),
server = function(input, output, session) {
onStop(function() cat("Session stopped\n"))
}
)
# ==== end app.R ====
# Similarly, if you have a global.R, you can call onStop() from there.
# ==== global.R ====
cat("Doing application setup\n")
onStop(function() {
cat("Doing application cleanup\n")
})
# ==== end global.R ====
## End(Not run)