2011-03-30 4 views

답변

7

글쎄,

@connection.options(Mysql::OPT_READ_TIMEOUT, @config[:read_timeout]) if @config[:read_timeout] 
    @connection.options(Mysql::OPT_WRITE_TIMEOUT, @config[:write_timeout]) if @config[:write_timeout] 

한 필요가 단순히에만 .yaml 데이터베이스 설정 파일에 read_timeout 및 write_timeout 값을 추가,이 라인 (29)과 mysql_adapter.rb 30 당이 나타날 것입니다.

따라서

,

development: 
    adapter: mysql 
    encoding: utf8 
    database: app_development 
    pool: 5 
    username: root 
    password: 
    write_timeout: 1 
    read_timeout: 1 

은 개당 1 초 읽기 및 쓰기 시간 제한을 설정하는 트릭을 할해야합니다. 불행하게도 이것은 초 단위의 타임 아웃을 설정할 수는 없습니다. 나는 기본 read_timeout을 가지고 예를 들어이 일을 해요

ActiveRecord::Base.connection.instance_variable_get('@connection').instance_variable_set('@read_timeout', 0) 

,하지만 내 긴 실행 야간 스크립트를 오버라이드 (override) :

0

당신은 또한이 같은 연결 단위로 설정할 수 있습니다.

관련 문제