Skip to content

Instantly share code, notes, and snippets.

@jhass
Last active December 14, 2015 07:29
Show Gist options
  • Select an option

  • Save jhass/5051455 to your computer and use it in GitHub Desktop.

Select an option

Save jhass/5051455 to your computer and use it in GitHub Desktop.
Sidekiq stats printer
require 'sidekiq/api'
namespace :sidekiq do
def print_stats
stats = Sidekiq::Stats.new
[:processed, :failed, :enqueued, :scheduled_size, :retry_size].each do |stat|
puts "sidekiq.#{stat} #{stats.send(stat)}"
end
puts "sidekiq.busy #{Sidekiq.redis { |con| con.scard("workers") }}"
end
desc "Print current sidekiq statistics"
task :stats => [:environment] do
print_stats
end
desc "Continuously print sidekiq stats"
task :tail, [:interval] => [:environment] do |t, args|
args.with_defaults(:interval => 5)
loop do
print_stats
sleep args[:interval].to_i
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment