【发布时间】:2017-05-16 09:30:37
【问题描述】:
我已经使用闪亮、闪亮的仪表板和 RMySQL 包制作了仪表板。 以下是我写的,以便在发生任何变化时每 10 分钟刷新一次数据。
在全球.R
con = dbConnect(MySQL(), host, user, pass, db)
check_func <- function() {dbGetQuery(con, check_query}
get_func <- function() {dbGetQuery(con, get_query}
在服务器.R
function(input, output, session) {
# check every 10 minutes for any change
data <- reactivePoll(10*60*1000, session, checkFunc = check_func, valueFunc = get_func)
session$onSessionEnded(function() {dbDisconnect(con)})
但是,上面的代码很少会从 check_func 生成损坏的连接句柄错误。
Warning: Error in .local: internal error in RS_DBI_getConnection: corrupt connection handle
我应该将 dbConnect 代码放在服务器函数中吗? 有更好的想法吗?
链接:using session$onsessionend to disconnect rshiny app from the mysql server
【问题讨论】: