两个Redis服务器用于相同的rails应用程序

时间:2015-03-11 18:05:09

标签: ruby-on-rails ruby redis resque

我的rails应用程序有很多不同类型的工作,我目前通过resque提交给redis。为了更好地管理它,我考虑运行两个redis服务器并将一类作业提交给server1,而另一类则提交给server2。任何人都可以建议如何使用rails中的resque将Type1的作业提交给Redis1而将Type2作业提交给Redis2?

1 个答案:

答案 0 :(得分:1)

当然,您可以在打开连接时使用不同的redis url为不同的作业使用不同的redis db文件,如下所示:

Resque.redis = Redis.connect(url:'redis://localhost:6379/1') #connect to db1
Resque.redis = Redis.connect(url:'redis://localhost:6379/2') #connect to db2

但我不认为这是一个很好的做法。您应该考虑Sidekiq并设置不同的队列来处理不同类型的作业。您可以检查sidekiq's options如何设置不同的队列名称。然后,您可以使用sidekiq的Web界面轻松跟踪这些作业。

相关问题