Почему мое удаленное соединение с MongoDB требует аутентификации при каждом запросе?

После борьбы с разными вещами, я смог наконец запустить 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, ни что-либо подобное.

Версии

  • Бутылка: 0.9.dev
  • Django: 1.2.1 final
  • PyMongo: 1.8

Я ценю помощь!

Обновление: Друг смог быстро взглянуть и заметил следующее, что может помочь с ответом на мой вопрос.

Похоже, что каждый запрос запуск нового процесса Python, как в отличие от Джанго, в котором один процесс продолжается долго период времени.

6
задан Shane Reustle 11 August 2010 в 18:30
поделиться