Команда, чтобы выяснить, сколько потоков запущено для данной очереди в Sidekiq - PullRequest
0 голосов
/ 29 апреля 2019

Я изучаю API Sidekiq и пытаюсь найти способ проверить заданную очередь, сколько потоков запущено в данный момент (я использую гем Sidekiq limit fetch gem https://github.com/brainopia/sidekiq-limit_fetch, и яхотел бы убедиться, что ограничения, которые я установил в моем конфигурационном файле, соблюдаются).Я посмотрел на workers = Sidekiq::Workers.new, который должен содержать информацию о потоках, но на самом деле он ничего не показывает о количестве потоков.Есть ли способ узнать, сколько потоков запущено для определенной очереди в данный момент в sidekiq?

1 Ответ

0 голосов
/ 29 апреля 2019

Я думаю, что вы заинтересованы в Sidekiq::ProcessSet.new. Из документов:

Sidekiq::ProcessSet предоставляет вам доступ к почти в реальном времени (обновляется каждые 5 секунд) информации о текущем наборе запущенных процессов Sidekiq. Вы также можете удаленно управлять процессами:

ps = Sidekiq::ProcessSet.new
ps.size # => 2
ps.each do |process|
  p process['busy']     # => 3
  p process['hostname'] # => 'myhost.local'
  p process['pid']      # => 16131
end
...