3

无论我尝试什么,我似乎都无法让 Sidekiq 遵守我的最大池大小设置。我试过了:

  • 在我的数据库中设置池:
production:
  adapter: mysql2
  encoding: utf8
  database: database
  username: username
  password: password
  host: host
  reconnect: true
  pool: 10
  • 在我的 sidekiq 初始化程序中对其进行硬编码(无论是否断开连接!以及在配置服务器块的内部和外部):
Sidekiq.configure_server do |config|
  ActiveRecord::Base.connection.disconnect!
  ActiveRecord::Base.configurations['production']['pool'] = 50
  ActiveRecord::Base.establish_connection
end
database_url = ENV['DATABASE_URL']
if(database_url)
  ENV['DATABASE_URL'] = "#{database_url}?pool=25"
  ActiveRecord::Base.establish_connection
end

我不知道为什么这些都不起作用。有任何想法吗?

如果它是相关的:

  • 导轨 3.2.12
  • Sidekiq 2.6.4
4

1 回答 1

1

确保您没有在任何工作人员或工作人员执行的任何代码中手动建立连接。这将增加每个工作人员从池中签出的连接数(不必要地),并导致您的 Universe 崩溃。

于 2013-05-06T11:41:20.487 回答