使用pool包关闭Shiny应用后RStudio崩溃问题求助
问题:Shiny应用使用pool包后在RStudio Workbench中无法正常终止
我的Shiny应用结构与官方pool包基础示例一致,代码如下:
library(shiny) library(DBI) library(pool) # 创建连接池 pool <- dbPool( drv = RMySQL::MySQL(), dbname = "shinydemo", host = "shiny-demo.csa7qlmguqrf.us-east-1.rds.amazonaws.com", username = "guest", password = "guest" ) onStop(function() { message("closing...") pool::poolClose(pool) }) # === UI ==== ui <- fluidPage( textInput("ID", "Enter your ID:", "5"), tableOutput("tbl"), numericInput("nrows", "How many cities to show?", 10), plotOutput("popPlot") ) #==== SERVER ==== server <- function(input, output, session) { output$tbl <- renderTable({ sql <- "SELECT * FROM City WHERE ID = ?id;" query <- sqlInterpolate(pool, sql, id = input$ID) dbGetQuery(pool, query) }) output$popPlot <- renderPlot({ query <- paste0("SELECT * FROM City LIMIT ", as.integer(input$nrows)[1], ";") df <- dbGetQuery(pool, query) pop <- df$Population names(pop) <- df$Name barplot(pop) }) } #=== 运行应用 ==== shinyApp(ui, server)
问题现象
应用运行正常,但在**RStudio Workbench 2021.09.2(Build 382.pro1)**中点击停止按钮后无法终止,弹出“Terminate R”窗口,控制台无任何报错信息。
已尝试的操作
- 更新later包,问题未解决。
- 临时解决方案:在控制台按Esc键可正常停止进程,避免弹出终止窗口。
环境信息
- R版本:4.1.0
- 实际数据库:PostgreSQL(使用ODBC驱动)
- pool包版本:v0.1.6
求问该问题产生的原因及可行的解决方案。
内容的提问来源于stack exchange,提问作者Corina Roca
相关产品推荐
相关产品推荐

