gpt4 book ai didi

ruby-on-rails - Rails ActiveRecord checkout_timeout 设置被忽略

转载 作者:行者123 更新时间:2023-12-05 07:57:18 26 4
gpt4 key购买 nike

我有以下初始化程序。

/config/initializers/database_connection.rb:

Rails.application.config.after_initialize do
ActiveRecord::Base.connection_pool.disconnect!

ActiveSupport.on_load(:active_record) do
config = Rails.application.config.database_configuration[Rails.env]
config['reaping_frequency'] = (ENV['DB_REAP_FREQ'] || 5).to_i # seconds
config['pool'] = (ENV['DB_POOL'] || 15).to_i
config['checkout_timeout'] = (ENV['DB_CHECKOUT_TIMEOUT'] || 25).to_i # seconds
ActiveRecord::Base.establish_connection(config)
end
end

我仍然收到以下错误:

ActiveRecord::ConnectionTimeoutError - could not obtain a database connection within 5.000 seconds (waited 6.940 seconds)

增加的超时(25 秒)将被忽略,并且超时在 5 秒后仍然发生。

我应该如何设置 checkout_timeout?

最佳答案

idk,如何通过配置对象设置 config.checkout_timeout,但是它应该可以在 database.yaml 中实现,并且这个文件也应该被 erb 解析,允许你在其中使用 ENV 变量,比如这个:

production:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
checkout_timeout: <%= ENV['TIMEOUT'] %>

我也不知道通过哈希访问设置配置属性。仅通过属性

 config.checkout_timeout  = 5

然而,这两者都是可能的,这并不会让我感到惊讶。并且不要忘记在 (spring stop)

之前重启 rails 服务器并杀死 spring

关于ruby-on-rails - Rails ActiveRecord checkout_timeout 设置被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27311711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com