Class: Sidekiq::Monitor::Job

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/sidekiq/monitor/job.rb

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.statusesObject (readonly)

Returns the value of attribute statuses.



19
20
21
# File 'app/models/sidekiq/monitor/job.rb', line 19

def statuses
  @statuses
end

Class Method Details

.add_status(status) ⇒ Object



21
22
23
24
# File 'app/models/sidekiq/monitor/job.rb', line 21

def add_status(status)
  @statuses << status
  @statuses.uniq!
end

.destroy_by_queue(queue, conditions = {}) ⇒ Object



26
27
28
29
30
31
32
33
34
# File 'app/models/sidekiq/monitor/job.rb', line 26

def destroy_by_queue(queue, conditions={})
  jobs = where(conditions).where(status: 'queued', queue: queue).destroy_all
  jids = jobs.map(&:jid)
  sidekiq_queue = Sidekiq::Queue.new(queue)
  sidekiq_queue.each do |job|
    job.delete if conditions.blank? || jids.include?(job.jid)
  end
  jobs
end

Instance Method Details

#delete_sidekiq_jobObject



50
51
52
53
54
# File 'app/models/sidekiq/monitor/job.rb', line 50

def delete_sidekiq_job
  return true unless status == 'queued'
  job = sidekiq_job
  job.delete if job
end

#sidekiq_itemObject



37
38
39
40
# File 'app/models/sidekiq/monitor/job.rb', line 37

def sidekiq_item
  job = sidekiq_job
  job ? job.item : nil
end

#sidekiq_jobObject



42
43
44
45
46
47
48
# File 'app/models/sidekiq/monitor/job.rb', line 42

def sidekiq_job
  sidekiq_queue = Sidekiq::Queue.new(queue)
  sidekiq_queue.each do |job|
    return job if job.jid == jid
  end
  nil
end