【发布时间】:2017-10-30 19:23:25
【问题描述】:
例如,我闪亮的应用程序可能会打开数据库连接
# server.R
db <- dbConnect("SQLite", DB_PATH)
shinyServer(
... # things involving db
)
现在,当 Shiny 会话结束时,如何确保连接 db 正确关闭(通过 dbDisconnect(db))?确实,应该为每个连接到服务器的客户端执行清理,还是只执行一次?
我只是担心多个用户一直在连接和断开 Shiny 应用程序,如果没有正确清理,他们会留下悬空的数据库连接。事实上,客户可能会在没有警告的情况下断开浏览器,只需关闭浏览器即可。
【问题讨论】:
-
强调 Brian D 对已接受答案的评论 - shiny.rstudio.com/articles/pool-basics.html 给出了我见过的管理数据库连接的最佳方式的示例(截至 2019 年)