Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como faço para definir o tempo limite de consulta do ActiveRecord para o mysql?


Bem, parece que por estas linhas 29 e 30 em mysql_adapter.rb,
  @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]

Basta apenas adicionar um valor read_timeout e write_timeout ao arquivo de configuração do banco de dados .yaml.

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

Deve fazer o truque para definir tempos limite de leitura e gravação de 1 segundo cada. Infelizmente, isso não permite que você defina tempos limite de menos de um segundo.