Module: SidekiqToolbelt

Extended by:
SidekiqToolbelt
Included in:
SidekiqToolbelt
Defined in:
lib/sidekiq_toolbelt.rb,
lib/sidekiq_toolbelt/version.rb

Constant Summary collapse

VERSION =
"0.1.2"

Instance Method Summary collapse

Instance Method Details

#clear(*jobs, queue: :default) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/sidekiq_toolbelt.rb', line 44

def clear(*jobs, queue: :default)
  loop do
    # update and reuse #kill?
    Sidekiq::Queue.new(:default).each do |job|
      if jobs.include? job.klass
        job.delete
      end
    end
    puts 'clearing...'
    sleep 5
  end
end

#counts(queue: :default) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/sidekiq_toolbelt.rb', line 6

def counts(queue: :default)
  counts = {}

  Sidekiq::Queue.new(queue).each do |job|
    if counts[job.klass].nil?
      counts[job.klass] = 1
    else
      counts[job.klass] += 1
    end
  end

  pp counts.sort_by {|k,v| -v}.to_h
end

#kill(job, queue: :default) ⇒ Object



20
21
22
23
24
# File 'lib/sidekiq_toolbelt.rb', line 20

def kill(job, queue: :default)
  Sidekiq::Queue.new(queue).each do |job|
    job.delete if job.klass.starts_with?(job)
  end
end

#kill_by_error(error, queue: :default) ⇒ Object



26
27
28
29
30
# File 'lib/sidekiq_toolbelt.rb', line 26

def kill_by_error(error, queue: :default)
  Sidekiq::Queue.new(queue).each do |job|
    job.delete if job.item['error_class'] == error
  end
end

#kill_retries(job) ⇒ Object



32
33
34
35
36
# File 'lib/sidekiq_toolbelt.rb', line 32

def kill_retries(job)
  Sidekiq::RetrySet.new.each do |job|
    job.delete if job.klass.starts_with?(job)
  end
end

#kill_retries_by_error(error) ⇒ Object



38
39
40
41
42
# File 'lib/sidekiq_toolbelt.rb', line 38

def kill_retries_by_error(error)
  Sidekiq::RetrySet.new.each do |job|
    job.delete if job.item['error_class'] == error
  end
end