Каждый раз, когда я пишу свой R-скрипт, он пропускает соединение БД
Я не могу вставить весь сценарий здесь, но я объясняю ситуацию. Если у вас когда-либо были утечки соединений с БД, вы бы знали, о чем я говорю.
У меня есть файл сценария R, который имеет много функций (около 50), которые используют соединения БД, используя DBI
& RMySQL
Р. пакеты. Я консолидировал весь доступ к БД через 4 или 5 функций. я использую on.exit(dbDisconnect(db))
в каждой функции, где dbConnect
используется.
Я обнаружил, что только при загрузке этого скрипта с помощью source("dbscripts.R")
вызывает утечку одного соединения с БД. Я вижу это, когда запускаю команду
dbListConnections(MySQL())
[[1]] MySQLConnection: 0,607>
[[2]] MySQLConnection: 0,608>
[[3]] MySQLConnection: 0,609>
[[4]] MySQLConnection: 0,610>
Я вижу еще одно соединение с БД, добавляемое в список каждый раз. Это быстро достигает 16, и мой скрипт перестает работать.
Проблема в том, что я не могу выяснить, какая строка кода вызывает утечку. Я проверил каждый dbConnect
строка в коде. Все они в функциях и нет dbConnect
происходит снаружи в основном коде.
Итак, почему происходит утечка соединения?