2013-02-27 15 views
31

Sto usando Mongoid 3, con Rails 3.2.9 e Unicorn per la produzione. Vorrebbe installare un before_fork & after_fork per il collegamento a MongoDB, ha trovato il seguente codice per la registrazione attiva:Rails, Mongo e Unicorn config per Heroku

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 

Qual è il codice rilevante per Mongoid (da collegare e scollegare)?

Aggiornamento:

Non avete davvero bisogno di fare questo, quindi per persone che vengono a vedere questa domanda vedere:

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

"Unicorn e passeggeri

Quando si utilizza Unicorn o Passeggero, ogni volta che un processo figlio viene biforcuto quando si utilizza il preloading dell'app o la generazione intelligente, Mongoid si ricollegherà automaticamente al database master. Se ti trovi nella tua applicazione manualmente, puoi rimuovere il tuo codice. "

Anche se sarebbe ancora interessante sapere quale sarebbe il codice Mongoid equivalente.

+0

si dovrebbe mettere l'aggiornamento in risposta qui sotto e lo accetto :) – gef

risposta

19

Non avete davvero bisogno di fare questo, quindi per persone che vengono a vedere questa domanda vedere:

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

"Unicorn e passeggeri

Quando si utilizza Unicorn o Passeggeri, ogni volta che un processo figlio è biforcuto quando si utilizza il precaricamento delle app o la generazione intelligente, Mongoid si ricollegherà automaticamente al database master.Se lo si fa manualmente nell'applicazione, è possibile rimuovere il codice. "

Anche se sarebbe ancora interessante sapere quale sarebbe il codice Mongoid equivalente.

0

Che dire ::Mongoid.default_session.connect ::Mongoid.default_session.disconnect

Problemi correlati