Итак, я использую ноутбук Jupyter Lab для подключения к нашей производственной базе данных.После нескольких дней работы мы заметили, как сервер отображает сотни или сотни активных соединений с базой данных, перечисленных как установленные (с запущенным « netstat -na »).
Это ужасно плохо, и мы определили проблемы как возникающие из-за того, что ядро python открывало соединения с сервером, фактически даже не закрывая их, даже если это было точно сказано.
Это отредактированоВерсия кода, которую мы используем для подключения к серверу, запускается в отдельной ячейке ноутбука, отделенной от другого кода.Мы выделили проблему и уверены, что она исходит из следующих строк кода:
client = MongoClient(url, maxIdleTimeMS=120000)
db = client["database"]
coll = db["data"]
query = # Our query
data = list(coll.find(query))
client.close()
Почему это происходит?Что мы делаем не так?Почему метод .close () фактически не закрывает соединение?