Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso impostare il timeout della query ActiveRecord per mysql?

Bene, sembrerebbe che per queste righe 29 e 30 in 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 semplicemente aggiungere un valore read_timeout e write_timeout al file di configurazione del database .yaml.

Quindi,

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

Dovrebbe fare il trucco per impostare i timeout di lettura e scrittura di 1 secondo ciascuno. Sfortunatamente questo non ti consente di impostare timeout inferiori al secondo.