2013-04-30 1 views
1

스레드가 죽거나 ActiveRecord 연결을 사용하는 스레드를 죽여야하는 경우 어떻게 ActiveRecord 연결이 풀로 반환되는지 확인합니까? 나는 가까운죽은 스레드에서 ActiveRecord 연결 닫기

DEPRECATION WARNING: Database connections will not be closed automatically, please close your database connection at the end of the thread by callingon your connection. For example: ActiveRecord::Base.connection.close

처럼 점점 오류를 계속하지만이 예기치 않게 사망, 또는에 Thread.kill를 호출 한 스레드에서 발생 있는지 어떻게해야합니까?

답변

3

접속 폐쇄 확인 =)

Thread.new do 
    begin 
    raise "foo" 
    ensure 
    begin 
     if (ActiveRecord::Base.connection && ActiveRecord::Base.connection.active?) 
      ActiveRecord::Base.connection.close 
     end 
     rescue 
     end 
    end 
end