Ruby Sequel + PG: Нужно ли (DB.disconnect + signal/trap/exit) в приложениях, поддерживаемых сиквелом?

Исходя из других сред (например, nodejs), было необходимо закрыть соединения БД после того, как сервер завершит работу и закроется. Я искал источник Sequel + онлайн примеры Sequal. я видел .disconnect упоминается в основном только с вилками и нитками.

Нужно ли звонить вручную DB.disconnect в ловушку сигнала при выходе из приложения? Или соединения закрываются автоматически?

Я использую только простое приложение Rack, без предварительной загрузки приложения в Unicorn, только соединения Postgresql.

2 ответа

Решение

Ruby автоматически закроет сокеты подключения к базе данных при завершении процесса, поэтому вам не нужно вызывать DB.disconnect вручную (хотя вы можете, если хотите).

Когда ваш PHP-скрипт будет завершен, PHP автоматически выполнит сборку мусора для объектов и ресурсов, которые вы использовали ранее. В результате этого, плюс тот факт, что большинство сценариев заканчиваются менее чем за одну десятую секунды, обычно нет необходимости явно отключаться от вашего сервера MySQL или освобождать вручную пространство, выделенное для ваших результатов SQL.

если вы хотите знать:

$db->close(); 

который закрывает текущее соединение с базой данных (если используется в переменной базы данных)

Только полностью закройте соединение с базой данных, если вы закончили с вашим SQL-соединением для этого скрипта

Другие вопросы по тегам