mongoDB, пассажир и проблемы производительности с пассажиром фьюжн - PullRequest
4 голосов
/ 20 января 2010

Я просто наткнулся на позу в списке пользователей mongodb, где обсуждалась пассажирская и разветвленная работа при использовании mongoDB с MongoMapper.

Я просто хотел напомнить, что разработчикам Rails нужно настроитьих 'environment.rb', если они используют MongoDB с Passenger.

По умолчанию Passenger порождает процессы Ruby с помощью fork ().И так как fork () разделяет файловые дескрипторы, приложение Rails должно заново открыть соединение с MongoDB в новом новом «процессе».

http://groups.google.com/group/mongodb-user/browse_thread/thread/f31e2d23de38136a

кто-нибудь знает, есть ли еще проблемы с mongoDB и пассажиром, или как лучше всего обслуживать приложение mongoDB-rails с пассажиром?

1 Ответ

1 голос
/ 20 января 2010

Я думаю, что эта "проблема" все еще существует, но я думаю, что исправление было предоставлено как в теме, на которую вы ссылались (ссылка в первом сообщении), так и в сущности Джона Нунемейкера (http://gist.github.com/232953).

Я полагаю, что соответствующий бит информации находится в следующем блоке кода, который вы поместите в инициализатор:

if defined?(PhusionPassenger)
  PhusionPassenger.on_event(:starting_worker_process) do |forked|
    # if using older than 0.6.5 of MM then you want database instead of connection
    # MongoMapper.database.connect_to_master if forked
    MongoMapper.connection.connect_to_master if forked
  end
end
...