ruby-on-rails – 如何检查sidekiq是否已启动?

我正在使用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属性启动并运行预期数量的工作进程.

点赞