我的要求是在应用程序启动时构建一个只连接一次到数据库的Shiny应用程序。如果数据库超时连接,那很好。同样,当用户关闭窗口时,应关闭数据库连接。这个Shiny应用程序有一个Submit按钮,它将根据其他表单输入执行CRUD操作。
在Shiny应用程序的哪个部分可以处理应用程序启动和终止,以便我可以相应地连接和关闭数据库连接?
答案 0 :(得分:1)
您可以在global.R
的应用程序启动时连接到您的数据库。这将使所有应用程序会话的数据库连接可用。但是,每次新会话开始时,您可能更感兴趣的是创建与数据库的连接,因为您可以在server
中的server.R
函数内创建连接。要关闭数据库,您可以使用session$onSessionEnded
。请参阅下面的示例代码。
server <- function(input, output, session) {
# code to connect to DB
# ...
# code to disconnect the DB
session$onSessionEnded(function() {
# this funtion will be execute when session ends
# like when the user closes the window
# disconnect DB...
})
}