Параллельно с SwitchPoint иногда нет ошибки соединения на Rails - PullRequest
0 голосов
/ 27 июня 2019

Использование драгоценных камней ruby ​​parallel и switch_point в приложении Rails:

# maybe helps: explicitly use connection pool
Parallel.each(User.all.each_slice(8).to_a) do |users|
  Parallel.each(users, in_threads: 8) do |user|
    ActiveRecord::Base.connection_pool.with_connection do
      user.update_attribute(:some_attribute, some_value)
    end
  end
end

Файл конфигурации SwitchPointнапример:

SwitchPoint.configure do |config|
  config.define_switch_point :blog_db,
    readonly: :"#{Rails.env}_blog_db_slave",
    writable: :"#{Rails.env}_blog_db_master"

  config.auto_writable = true
end

app / models / application.rb

class Application < ActiveRecord::Base
  self.abstract_class = true
  use_switch_point :blog_db
end

Иногда появляется такая ошибка:

error: No connection pool with 'SwitchPoint::Proxy::BlogDBReadonly' found.

Понятия не имею, почему.

...