После борьбы с разными вещами, я смог наконец запустить BottlePY на Apache и запустить сайт на MongoDB. Я привык запускать приложения Django, поэтому я буду касаться этого в своем вопросе.
Проблема
Каждый раз, когда страница загружается через BottlePY, требуется подключение к базе данных MongoDB, расположенной на MongoHQ.com. быть повторно аутентифицированным (это означает, что он, вероятно, должен был повторно подключиться).
То, что я нашел
Я прикрепил функцию db.keep_alive ()
к вершине каждой функции модели, так что перед любым Запущен запрос mongodb, он пытается выполнить простой запрос. Если происходит сбой, он перехватывает ошибки OperationFailure или AutoReconnect и затем вызывает функцию db.authenticate ()
. После того, как он повторно аутентифицируется, У меня есть это добавить журнал в базу данных logs, чтобы контролировать, как часто нужно повторную проверку подлинности. В настоящее время требуется повторная аутентификация при каждой загрузке страницы (что требует выполнения запроса). Это не так.
Отличие от Django
Я использую эту же концепцию в django и обнаружил, что соединение с БД необходимо аутентифицировать только через 10-15 минут без выполнения запросов.
I Не понимаю, почему создание соединения pymongo в django отличается от создания соединения в бутылке, поскольку я использую тот же драйвер, функции и методы. Я не использую ни ORMS, ни что-либо подобное.
Версии
Я ценю помощь!
Обновление: Друг смог быстро взглянуть и заметил следующее, что может помочь с ответом на мой вопрос.
Похоже, что каждый запрос запуск нового процесса Python, как в отличие от Джанго, в котором один процесс продолжается долго период времени.