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

StackOverflow https://stackoverflow.com/questions/3456267

Вопрос

После борьбы с разными вещами здесь и там, я наконец смог получить Бутылка Работает на Apache и запустить Mongodb Powered Site. Я привык бегать приложения Django, поэтому я буду относиться к этому немного в моем вопросе.

Эта проблема

Каждый раз, когда страница загружается через botterpy, соединение с базой данных Mongodb, расположенной на mongohq.com, должна быть повторно аутентифицирована (что, вероятно, должно быть подключено).

Что я обнаружил

Я привязал А. db.keep_alive() Функция в верхней части каждой модели функции модели, так что перед любым запросом MongoDB запускается, он использует простой запрос. Если он не удается, он ловит операционные последствия или ошибки автореконвета, а затем вызывает db.authenticate() функция. После того, как он повторно реагирует, у меня добавляет журнал дБ журналам для мониторинга того, как часто он должен погрузиться. В настоящее время ему необходимо погрузиться на каждой нагрузке страницы (требует выполнения запроса). Это не правильно.

Отличие от Джанго

Я использую эту же концепцию в Django, и обнаружил, что соединение DB необходимо только быть аутентифицированным после 10-15 минут без запуска запросов.

Я не понимаю, почему создание соединения Пимонго в Джангу будет отличаться от создания одного в бутылке, так как я использую тот же драйвер, функции и методы. Я тоже не использую никаких ОРМС или ничего подобного.

Версии

  • Бутылка: 0,9.dev.
  • Django: 1.2.1 Финал
  • Пимонго: 1.8

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

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

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

Это было полезно?

Решение

Это только что закончилось, чтобы быть странным между бутылкой и монговком. Никакого реального решения не было найдено, но я не мог воссоздать его с другими рамками. Любые другие идеи ценятся.

Другие советы

Ваш Apache XXX.conf содержит что-то вроде:

WSGIDaemonProcess project user=mysite group=www-data processes=5 threads=1 WSGIProcessGroup project

Я думаю, что самое главное должно быть threads=1

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top