Ruby on rails Sidekiq远程服务器设置

Ruby on rails Sidekiq远程服务器设置,ruby-on-rails,sidekiq,Ruby On Rails,Sidekiq,我想在不同的服务器上远程运行sidekiq workers来分配负载。找不到它的任何文档。我在官方的sidekiq文档中找不到任何东西,我曾尝试在google中搜索“sidekiq远程服务器”、“sidekiq远程工作者”,但找不到任何有用的东西。 这就是我想说的 我的问题是:我是否需要将生产服务器上的应用程序代码复制到所有sidekicks服务器上?如何配置sidekiq以这种方式工作,或者阅读关于这种配置类型的哪些文档或来源?感谢所有人的帮助 Q1。我是否需要将生产服务器上的应用程序代码复

我想在不同的服务器上远程运行sidekiq workers来分配负载。找不到它的任何文档。我在官方的sidekiq文档中找不到任何东西,我曾尝试在google中搜索“sidekiq远程服务器”、“sidekiq远程工作者”,但找不到任何有用的东西。 这就是我想说的

我的问题是:我是否需要将生产服务器上的应用程序代码复制到所有sidekicks服务器上?如何配置sidekiq以这种方式工作,或者阅读关于这种配置类型的哪些文档或来源?感谢所有人的帮助

Q1。我是否需要将生产服务器上的应用程序代码复制到所有sidekicks服务器上? 回答:是的

问题2。如何配置Sidekiq以这种方式工作,或者阅读关于这种配置类型的哪些文档或来源? 答:您需要将Sidekiq连接到公共Redis服务器。考虑到你的SIDKIQ工作人员连接到服务器上的ReDIS服务器,R.说,然后当你排队任何工作时,你需要配置你的SIDKIQ GEM来连接到服务器R.I/P>上的ReDIS。 要将Sidekiq配置为使用外部服务器,可以使用

Sidekiq.configure_server do |config|
  config.redis = { url: 'redis://redis.example.com:7372/12' }
end
您可以查看更多详细信息


核心思想是,您需要一个公共数据库服务器,每个Sidekiq工作人员和队列都将连接到该服务器。

第一个问题-Sidekiq需要应用程序代码来完成其工作,因此您需要确保它复制到每个任务服务器上

,但设置这些服务器将有点复杂。就我个人而言,我喜欢这种堆栈,我使用它来配置运行Sidekiq的每台机器。我使用Monit来保持它的运行,这就是为什么我将它标记为Monit特定的配方


如果您能提供更多关于首选部署和托管选择的信息,我们可能会给您更详细的答复。祝你好运

在这种情况下,您不会面临任何重复作业,因为所有sidekiq进程都试图读取和写入同一个数据库。@Sai否。在Redis上执行的操作都是原子操作。