Eka*_*Eka 13 r shiny shinydashboard
我已经在shinyapps.io中部署了一个应用程序并且工作正常.
我运行的应用程序只有5分钟,但当我检查指标时,它显示运行时间约为0.7小时.我发现有一个15分钟的默认空闲时间,我已经改为5分钟(最小).我还注意到,即使在关闭闪亮应用程序的浏览器窗口后,它仍然显示应用程序在我的仪表板中运行.
我假设应用程序在浏览器窗口关闭时不会停止运行,只有在满足空闲时间条件时它才会停止.
有没有办法在浏览器窗口关闭时停止闪亮的应用程序?以下代码是否适用于此实例?
session$onSessionEnded(function() {
stopApp()
})
Run Code Online (Sandbox Code Playgroud)
Dou*_*You 13
我不知道shinyapps.io,但是在R(正如你的标签所示)你确实可以shinyApp通过onSessionEnded.以下是最小的工作示例.
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()
Run Code Online (Sandbox Code Playgroud)
我发现这个优秀的代码完成了这项工作.基本上,你喜欢这样:
library(shiny)
library(shinyjs)
jscode <- "shinyjs.closeWindow = function() { window.close(); }"
ui <- fluidPage(
useShinyjs(),
extendShinyjs(text = jscode, functions = c("closeWindow")),
actionButton("close", "Close window")
)
server <- function(input, output, session) {
observeEvent(input$close, {
js$closeWindow()
stopApp()
})
}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
请注意,可能会禁止通过JavaScript关闭浏览器窗口.但这是另一个讨论.
| 归档时间: |
|
| 查看次数: |
8267 次 |
| 最近记录: |