4

APIを介してsidekiqのステータスに関する情報を取得できます。ワーカー用のAPIメソッドはありません。

特定のクラスが実行しているワーカーの数を知りたい。たとえば、という名前のクラスがFooStreamer.rbあり、それはメソッドで実行されperform_asyncます。現時点で何人のワーカーが実行されているか知りたいです。

何か案は?

4

3 に答える 3

4

マイク(sidekiqの作成者)が次のコミットで解決しました:

https://github.com/mperham/sidekiq/commit/c606dd4fde8cdc795d2c750d211a74bf1b380217

于 2013-01-28T17:53:43.703 に答える
1

Sidekiqには、mydomain.com/sidekiqからアクセスできるSinatraWebインターフェイスが付属しています。これらの指示に従ってマウントする必要があります(PassengerとUnicornのどちらを使用するかによって異なります)

https://github.com/mperham/sidekiq/wiki/Monitoring

私が知っているAPIはありませんが、Sidekiq情報を格納するRedisキーを簡単に繰り返し処理して、特定のキューで作業しているワーカーの数を数えることができます。

workers = redis.smembers("workers")

workers.each do |worker|
        tokens = worker.split(":")
        machine = tokens[0]
        pid = tokens[1].split("-")[0]
        key = "worker:" + pid
        obj = redis.get(key)

        #obj will contain information on what queue this worker is processing
end
于 2013-01-21T16:37:17.553 に答える
0

https://github.com/phstc/sidekiq-statsdを使用し、Graphiteを使用して統計を確認できます。

于 2014-08-30T15:25:20.517 に答える