I have deployed an app in shinyapps.io and its working fine.
I am running the app for only 5 minutes, but when I checked the metrics it shows a running time for about 0.7 hours. I found that there is a default idle time of 15 minutes, which I have changed to 5 minutes (minimum). I also noticed that, even after closing the browser window of the shiny app, it still shows the app as running in my dashboard.
I assume that the app doesn't stop running when a browser window is closed and it will stop only when the idle time condition is met.
Is there a way to stop the shiny app when the browser window is closed? Would the following piece of code work in this instance?
session$onSessionEnded(function() {
stopApp()
})
I'm not aware of shinyapps.io, but in R (as your tag shows) you can indeed stop a shinyApp
through the onSessionEnded
. The following is a minimal working example.
rm(list=ls())
library(shiny)
doshiny <- function() {
app=shinyApp(
ui = fluidPage(
textInput("textfield", "Insert some text", value = "SomeText")
),
server = function(input, output, session) {
session$onSessionEnded(function() {
stopApp()
})
}
)
runApp(app)
}
openshiny <- function() {
doshiny()
print("Finished.")
}
openshiny()