【问题标题】:Sidekiq with multiple instances with different queue using same redis serverSidekiq 具有使用相同 redis 服务器的具有不同队列的多个实例
【发布时间】:2019-03-27 20:53:51
【问题描述】:

最近不得不优先考虑我的 Sidekiq 队列(在我只使用默认队列之前)。 所以,我想按照https://github.com/mperham/sidekiq/wiki/Advanced-Options#reserved-queues使用保留队列@

config/sidekiq.yml 内容

---
:concurrency: 25
:logfile: ./log/sidekiq.log
:queues:
  - default
  - mailers

config/sidekiq_critical.yml 内容

---
:concurrency: 10
:logfile: ./log/sidekiq.log
:queues:
  - critical

在开发环境中, 我可以使用不同的配置文件启动 2 个侧面实例,如下所示

sidekiq -C config/sidekiq.yml
sidekiq -C config/sidekiq_critical.yml

我可以在 sidekiq ui 中看到具有不同队列的两个 sidekiq 实例

我不知道如何在生产环境中以类似的方式运行。 对于生产,我们使用https://github.com/mperham/sidekiq/tree/master/examples/upstart中提到的类似

sidekiq.conf 内容

script
exec /bin/bash <<'EOT'
  sudo -i -u ec2-deploy
  cd path/to/app
  RAILS_ENV=production bundle exec sidekiq -C config/sidekiq.yml
  RAILS_ENV=production bundle exec sidekiq -C config/sidekiq_critical.yml
EOT
end script

但我只能看到一个使用 config/sidekiq.yml 队列运行的 sidekiq 实例。

请帮助如何在同一服务器上运行具有不同配置文件的两个 sidekiq 实例

【问题讨论】:

    标签: sidekiq upstart


    【解决方案1】:

    您将创建一个 sidekiq2.conf。或 sidekiq-critical.conf。或任何你想要的名字。

    【讨论】:

    • 我已经创建了另一个 sidekiq 配置,如 sidekiq-critical.conf 所述。但是仍然只有一个 sidekiq 实例按照 config/sidekiq.yml 中的配置运行。我正在使用https://github.com/mperham/sidekiq/tree/master/examples/upstart 中提到的workers.conf 我需要在workers.conf 中进行任何更改吗?
    • 感谢 Mike Perham。解决了workers.conf 文件的问题。进行了更改并且工作正常。
    猜你喜欢
    • 1970-01-01
    • 2020-01-31
    • 2017-06-27
    • 2019-08-30
    • 2017-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多