app/models/sidekiq/monitor/job.rb in sidekiq_monitor-0.0.4 vs app/models/sidekiq/monitor/job.rb in sidekiq_monitor-0.0.5

- old
+ new

@@ -4,24 +4,35 @@ attr_accessible :args, :class_name, :enqueued_at, :finished_at, :jid, :name, :queue, :result, :retry, :started_at, :status serialize :args serialize :result - after_destroy :destroy_in_queue + after_destroy :delete_sidekiq_job STATUSES = [ 'queued', 'running', 'complete', 'failed' ] - def destroy_in_queue - return true unless status == 'queued' + def sidekiq_item + job = sidekiq_job + job ? job.item : nil + end + + def sidekiq_job sidekiq_queue = Sidekiq::Queue.new(queue) sidekiq_queue.each do |job| - return job.delete if job.jid == jid + return job if job.jid == jid end + nil + end + + def delete_sidekiq_job + return true unless status == 'queued' + job = sidekiq_job + job.delete if job end def self.destroy_by_queue(queue, conditions={}) jobs = where(conditions).where(status: 'queued', queue: queue).destroy_all jids = jobs.map(&:jid)