如何使用Sidekiq服务器为同一个项目支持多个数据库(postgresql)?

问题描述 投票:0回答:0

我希望Sidekiq支持同一个项目的多个动态数据库

desc "Start sending the client invitation"

task "sidekiq:start", [:database] => :environment do |task, args|
  database = args[:database]
  config = ActiveRecord::Base.establish_connection(
     :adapter  => "postgresql",
     :host     => "localhost",
     :username => "postgres", 
     :password => 12345678,
    :database => database
  )

  puts "Start Running Sidkiq Server for new database instance - #{database}"
  system("bundle exec sidekiq -d -L log/sidekiq.log -P tmp/pids/#{database}_sidekiq.pid")
  puts "Finished Running Sidkiq Server for new database instance - #{database}"

  puts "Finished connecting the client sidkiq"

end
rake sidekiq:start[hellodb]

sidekiq中有什么动态传递数据库配置吗?

  • 它始终从database.yml获取数据库配置,即使我使用了这个establish_connection方法。 我希望它动态支持数据库配置。
  • 基本上,我在我的项目中使用多个数据库,具体取决于子域。 在那里,我使用相同的项目,但动态使用多个数据库。 所以,我正在寻找一些能够允许为不同的数据库使用多个sidekiq实例的能力。
  config = ActiveRecord::Base.establish_connection(
     :adapter  => "postgresql",
     :host     => "localhost",
     :username => "postgres", 
     :password => 12345678,
    :database => database
  )

我会欣赏同样的意见:)

ruby-on-rails ruby database postgresql sidekiq
© www.soinside.com 2019 - 2024. All rights reserved.