【问题标题】:Sidekiq not processing more than one queueSidekiq 不处理多个队列
【发布时间】:2015-01-29 14:05:02
【问题描述】:

我已成功配置 Sidekiq 以供我使用,但现在它不能处理多个队列。它只处理首先写入配置文件的队列。例如:

---
:verbose: true

:concurrency: 100
:pidfile: tmp/pids/sidekiq.pid
staging:
  :concurrency: 10
production:
  :concurrency: 20
:queues :
  - [kritikal , 5]
  - [critical , 4]

在这种情况下,它只处理关键队列。在以下情况下:

---
:verbose: true

:concurrency: 100
:pidfile: tmp/pids/sidekiq.pid  
staging:
  :concurrency: 10
production:
  :concurrency: 20
:queues :
  - [critical , 4]
  - [kritikal , 5]

它只处理关键队列。谁能告诉我哪里出错了?

【问题讨论】:

  • 你是如何运行sidekiq(命令行,守护进程)的?你在哪个地区跑步?开发?分期?
  • 我在命令行中使用开发模式使用 bundle exec。

标签: ruby-on-rails redis sidekiq


【解决方案1】:

我怀疑这是因为您在 :queues : 声明中有多余的空格。

【讨论】:

  • 起初我没有那个空间,但那也是同样的问题。所以我特意加了一个试试看是不是有问题但是还是没用。
  • Mike,Sidekiq 中的 YAML 解析器是否非常严格并且会过滤掉配置中的对象?
  • Sidekiq 使用标准的 Ruby YAML 解析器。通常你会得到一个错误,它不会只是默默地丢弃东西。
【解决方案2】:

我不知道这是否是问题,但我同步了我的客户端和服务器 redis 配置,再次从 :queue : 删除空间并重新启动我的系统和瞧!!它现在正在工作。虽然我个人认为同步 redis 服务器不是问题,因为无论如何都会执行一个队列。

Sidekiq.configure_server do |config|
    config.redis = { :url => 'redis://localhost:6379' }
end

Sidekiq.configure_client do |config|
    config.redis = { :size => 1 }
    config.redis = { :url => 'redis://localhost:6379' }
end

【讨论】:

  • 您可以在答案中发布您更新的配置以便帮助其他人吗?
猜你喜欢
  • 2013-05-26
  • 2012-10-24
  • 1970-01-01
  • 2015-07-06
  • 2018-09-27
  • 1970-01-01
  • 1970-01-01
  • 2015-11-27
相关资源
最近更新 更多