rufus-scheduler和多个数据库连接

时间:2015-08-14 21:52:09

标签: ruby-on-rails ruby rufus-scheduler

在我的rails多租户应用程序中,我使用多个数据库并使用<TabItem DataContext="{x:Static viewModel:ServerListViewModel.Instance}" Name="SettingsTab" Header="Settings" > ... 从一个切换到另一个,这很好用。 如何在rufus-scheduler中处理这个多个连接?我是否必须在每个调度程序中迭代连接?

ActiveRecord::Base.establish_connection(tenant_config)

也许是这样的:

#not work
scheduler.every '1h' do
    MyModel.create(title: "test")
end

有人可以帮我提供更好的解决方案或建议。 THX。

我使用此代码来管理我的多个数据库连接

scheduler.every '1h' do
    active_records_all_connections.each do
      MyModel.create(title: "test")
    end
end

2 个答案:

答案 0 :(得分:1)

我会将数据库连接分离移到模型中。与此article

类似

这样rufus调度程序不需要知道连接。

答案 1 :(得分:0)

兰比说:

  

在我的rails多租户应用程序中,我使用多个数据库和   我使用ActiveRecord :: Base.establish_connection(tenant_config)从一个切换到另一个

所以,只需执行以下操作:

scheduler.every '1h' do
  ActiveRecord::Base.establish_connection(tconfig0)
  MyModel.create(title: "test for tenant0")
end
scheduler.every '1h' do
  ActiveRecord::Base.establish_connection(tconfig1)
  MyModel.create(title: "test for tenant1")
end

您在常规代码中使用.establish_connection切换,为什么不在预定的工作中使用它?

请注意,rufus-scheduler并不会对Rails或Active Record或数据库连接提供任何帮助,它只是使用线程来完成其调度工作。没有魔力。