我正在使用Sidekiq Gem和Rails 3.有没有办法看看sidekiq工人是否准备好处理工作?我们希望确保这些东西不仅仅是排队并坐在那里.我试过这样的事……
stats = Sidekiq::Stats.new
puts stats.queues
但是这将始终返回default => 0,如果redis已启动,即使sidekiq尚未准备好处理作业.
最佳答案 您可以访问Sidekiq Workers API来访问活动的工作者集:
worker_api = Sidekiq::Workers.new
worker_api.size
=> 1
worker_api.each {|worker| do_stuf(worker) }
最简单的解决方案是访问API并等待通过Worker API的size属性启动并运行预期数量的工作进程.