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

时间:2019-05-22 20:54:05

标签: ruby-on-rails ruby database postgresql sidekiq

我希望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中是否有任何东西可以动态传递数据库配置?

  • 即使我使用了created_connection方法,也总是从database.yml获取数据库配置。我希望它动态支持数据库配置。
  • 基本上,我在项目中使用多个数据库,具体取决于子域。在那里,我正在使用同一个项目,但是动态地使用了多个数据库。因此,我正在寻找一种可能允许对不同数据库使用多个sidekiq实例的功能。
  config = ActiveRecord::Base.establish_connection(
     :adapter  => "postgresql",
     :host     => "localhost",
     :username => "postgres", 
     :password => 12345678,
    :database => database
  )

我会欣赏同一张照片上的观点:)

0 个答案:

没有答案