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
3条答案
按热度按时间rseugnpd1#
由Mike(sidekiq的创建者)通过以下提交解决:
https://github.com/mperham/sidekiq/commit/c606dd4fde8cdc795d2c750d211a74bf1b380217
siotufzp2#
Sidekiq附带了一个Sinatra Web界面,您可以通过www.example.com访问mydomain.com/sidekiq。您只需要按照这些说明安装它(它根据您使用的是Passenger还是Unicorn而不同)
https://github.com/mperham/sidekiq/wiki/Monitoring
据我所知,还没有API,但是您可以轻松地遍历存储Sidekiq信息的Redis键,以计算在特定队列上工作的工作者数量
cngwdvgl3#
您可以使用https://github.com/phstc/sidekiq-statsd并使用Graphite检查统计信息。