Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment définir le délai d'expiration de la requête ActiveRecord pour mysql ?

Eh bien, il semblerait que selon ces lignes 29 et 30 dans 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]

Il suffit simplement d'ajouter une valeur read_timeout et write_timeout au fichier de configuration de la base de données .yaml.

Ainsi,

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

Devrait faire l'affaire pour définir des délais d'attente de lecture et d'écriture de 1 seconde chacun. Malheureusement, cela ne vous permet pas de définir des délais inférieurs à la seconde.