Пирамида: запустить код при выходе

Как бы вы запустили скрипт выхода на пирамиде, у которой есть доступ к настройкам конфигурации?

Я хочу закрыть соединение с базой данных при выходе из сервера или при возникновении ошибки, но не могу найти способ доступа к циклу выхода. Я нашел этот вопрос SO, но я не знаю, как получить доступ к объекту Configurator, чтобы закрыть соединение таким образом.

1 ответ

Поскольку пирамида не зависит от постоянства, она не отвечает за закрытие соединений с базой данных. Ваше приложение наиболее вероятно использует pymongo подключиться к MongoDB. Это до pymongo.mongo_client.MongoClient класс, чтобы заботиться об этом.

После прочтения MongoDB и Pyramid вы можете прочитать о том, как pinto (более поздняя работа) управляет подключениями к MongoDB, поскольку pyramid_mongo не был обновлен до последней версии PyMongo API.

Несмотря на некоторые различия в получении соединения с БД для жизненного цикла запроса, оба используют функцию пирамиды "add_finished_callback" для закрытия соединения с БД в самом конце запроса (отрывок из документа: даже если в коде приложения происходит исключение, которое предотвращает ответ от генерируется.) - именно ваше требование. Это также означает, что все внешние подключения к БД уже закрыты, когда пирамида отключается и запускает код, который вы действительно хотите подключить.

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