针对多个数据库运行sidekiq作业?

时间:2019-07-29 14:58:32

标签: ruby-on-rails-5 sidekiq

我有一个Rails应用程序,根据域名使用不同的数据库(即,它支持多个网站)。这可以通过加载不同的环境而没有问题。

我试图弄清楚如何为每个作业运行相同的Sidekiq作业。

Sidekiq在辅助服务器实例上运行。

我尝试在辅助程序的命令行上运行sidekiq的第二个实例,为它提供不同的pidfile,logfile,环境和配置文件。

问题1:在控制台中,sidekiq的配置文件的第一个实例中列出的所有重复任务都消失了,recurring jobs选项卡上只有我的第二个实例的配置文件中的任务。

问题2:对于该工作,如果我尝试入队,我会得到unitialized constant uninitialized constant JofProductUpdateLive->我猜这是因为我在app/jobs/jof_product_update_live.rb中为worker定义了类,并且正在寻找它在主服务器上?

问题3:如果错误的理论是正确的,并且我将该文件放置在主服务器上,在我看来它将以environment/db1运行,而我不确定如何以{{1}运行}?

我正在寻求有关如何进行类似设置的任何建议,因为我已经尝试了所有以自己的方式实现的想法,但迄今为止,成功率为零。我也梳理了在sidekiq上找到的所有论坛,但都没有结果。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

查看Apartment宝石和apartment-sidekiq。

https://github.com/influitive/apartment-sidekiq