Techioz Blog

Sidekiq の特定のキューで実行されているスレッドの数を把握するコマンド

概要

私はsidekiq APIを調査していて、特定のキュー、特定の瞬間に実行されているスレッドの数を確認する方法を見つけようとしています(私はsidekiq制限フェッチジェムを使用しています https://github.com/brainopia/sidekiq- limit_fetch 、構成ファイルで設定した制限が遵守されていることを確認したいと思います)。 スレッドに関する情報を保持しているはずのworkers = Sidekiq::Workers.newを調べましたが、実際にはスレッド数については何も表示されませんでした。 Sidekiq で特定の瞬間に特定のキューで実行されているスレッドの数を確認する方法はありますか?

解決策

Sidekiq::ProcessSet.new に興味があると思います。ドキュメントから:

ps.size # => 2
ps.each do |process|
  p process['busy']        # => 3
  p process['hostname']    # => 'myhost.local'
  p process['pid']         # => 16131
  p process['concurrency'] # => 10 <- this is the number of threads per process
end