You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:45:46