onStop
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 onStop is
called from within the server function, this will default to the current
session, and the callback will be invoked when the current session ends. If
onStop is called outside a server function, then the callback will
be invoked with the application exits. If NULL , it is the same as
calling onStop outside of the server function, and the callback will
be invoked when the application exits. |
Value
-
A function which, if invoked, will cancel the callback.
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).
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 ====
## ---------------------------------------------
See also
onSessionEnded()
for the same functionality, but at
the session level only.