Class: ActiveJob::Cancel::QueueAdapters::ResqueAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/active_job/cancel/queue_adapters/resque_adapter.rb

Instance Method Summary collapse

Instance Method Details

#cancel(job_id, queue_name) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/active_job/cancel/queue_adapters/resque_adapter.rb', line 7

def cancel(job_id, queue_name)
  queue_name = queue_name.call if queue_name.is_a?(Proc)
  job = find_job(job_id, queue_name)

  if job
    Resque.redis.lrem(redis_key_for_queue(queue_name), 0, Resque.encode(job))
    return true
  else
    if defined?(Resque.remove_delayed_selection)
      removed_count = Resque.remove_delayed_selection { |target| target[0]["job_id"] == job_id }
      return true if removed_count > 0
    end
  end

  false
end