Подтвердить что ты не робот

Rails, Mongoid & Unicorn config для Heroku

Я использую Mongoid 3, с Rails 3.2.9 и Unicorn для производства. Хотелось бы настроить before_fork и after_fork для подключения к mongodb, нашел следующий код для активной записи:

before_fork do |server, worker|
  # Replace with MongoDB or whatever
  if defined?(ActiveRecord::Base)
    ActiveRecord::Base.connection.disconnect!
    Rails.logger.info('Disconnected from ActiveRecord')
  end
end

after_fork do |server, worker|
  # Replace with MongoDB or whatever
  if defined?(ActiveRecord::Base)
    ActiveRecord::Base.establish_connection
    Rails.logger.info('Connected to ActiveRecord')
  end
end

Каков соответствующий код для Mongoid (для подключения и отключения)?

Update:

Вам действительно не нужно это делать, поэтому для людей, рассматривающих этот вопрос, см.:

http://mongoid.org/en/mongoid/docs/rails.html

"Единорог и пассажир

При использовании Unicorn или Passenger каждый раз, когда дочерний процесс разветвляется при использовании предварительной загрузки приложения или умного нереста, Mongoid автоматически подключается к основной базе данных. Если вы делаете это в своем приложении вручную, вы можете удалить свой код. "

Хотя было бы интересно узнать, что будет эквивалентным монгольским кодом.

4b9b3361

Ответ 1

Вам действительно не нужно это делать, поэтому для людей, рассматривающих этот вопрос, см.:

http://mongoid.org/en/mongoid/docs/rails.html

"Единорог и пассажир

При использовании Unicorn или Passenger каждый раз, когда дочерний процесс разветвляется при использовании предварительной загрузки приложения или умного нереста, Mongoid автоматически подключается к основной базе данных. Если вы делаете это в своем приложении вручную, вы можете удалить свой код. "

Хотя было бы интересно узнать, что будет эквивалентным монгольским кодом.

Ответ 2

Как насчет ::Mongoid.default_session.connect ::Mongoid.default_session.disconnect