Я использую 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 автоматически подключается к основной базе данных. Если вы делаете это в своем приложении вручную, вы можете удалить свой код. "
Хотя было бы интересно узнать, что будет эквивалентным монгольским кодом.