2010-11-21 3 views

답변

6

설정 구성 블록 전역 변수 : settings에서

configure do 
    $mongo = Mongo::Connection.new 
end 

또는 스틱 :

configure do 
    set :mongo, Mongo::Connection.new 
end 

get '/' do 
    # the connection is available through settings.mongo 
end 

내가이 매우 우아의도를 찾을 수 있다고한다.

개발 중에는 요청이있을 때마다 연결이 생성되지만 프로덕션 환경에서 서버를 시작하는 것처럼 보일 수 있습니다. 그러면 다르게 동작합니다 (예 : thin -e production). 앱이 승객으로 실행됩니다 경우

또한, 당신은이 작업을 수행 할 필요가 :

configure do 
    if defined?(PhusionPassenger) 
    PhusionPassenger.on_event(:starting_worker_process) do |forked| 
     if forked 
     # *** reconnect to the database here! *** 
     end 
    end 
    end 
end 

는 그것이 무엇을하면 해당 자식 프로세스가 자신의 연결이 그래서, 승객 포크 후 데이터베이스에 다시 연결한다는 것입니다. 이 작업을 수행하지 않으면 정말 이상한 오류가 발생합니다.

관련 문제