sql >> Databáze >  >> RDS >> Mysql

Jak nastavím časový limit dotazu ActiveRecord pro mysql?

Zdá se, že podle těchto řádků 29 a 30 v 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]

Stačí jednoduše přidat hodnoty read_timeout a write_timeout do konfiguračního souboru databáze .yaml.

Tedy,

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

Mělo by stačit nastavit časové limity čtení a zápisu na 1 sekundu za kus. Bohužel vám to neumožňuje nastavit časové limity v řádu sekund.



  1. Poslední aktualizované ID řádku v Mysql

  2. Stahování Excelu se zaseklo 188 kb

  3. Jak přidat vlastní atributy do připojovacího řetězce SQL?

  4. Vytisknout skutečný dotaz běží MySQLdb?