【问题标题】:Two Redis servers for same rails app两个 Redis 服务器用于相同的 rails 应用程序
【发布时间】:2015-03-11 18:05:09
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails ruby redis resque


    【解决方案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 界面轻松跟踪这些作业。

    【讨论】:

      猜你喜欢
      • 2019-01-06
      • 1970-01-01
      • 2016-07-24
      • 2017-06-23
      • 1970-01-01
      • 2011-11-21
      • 2015-10-15
      • 1970-01-01
      • 2018-11-19
      相关资源
      最近更新 更多