class Resque::Job

Public Class Methods

create(queue, klass, *args)
Also aliased as: create_without_loner
Alias for: create_with_loner
create_with_loner(queue, klass, *args) click to toggle source

Overwriting original create method to mark an item as queued after Resque::Job.create has called Resque.push

# File lib/resque-ext/job.rb, line 12
def self.create_with_loner(queue, klass, *args)
  return create_without_loner(queue, klass, *args) if Resque.inline?
  item = { class: klass.to_s, args: args }
  return 'EXISTED' if Resque::Plugins::Loner::Helpers.loner_queued?(queue, item)
  # multi block returns array of keys
  create_return_value = false
  Resque.redis.multi do
    create_return_value = create_without_loner(queue, klass, *args)
    Resque::Plugins::Loner::Helpers.mark_loner_as_queued(queue, item)
  end
  create_return_value
end
Also aliased as: create
create_without_loner(queue, klass, *args)
Alias for: create
destroy(queue, klass, *args)
Also aliased as: destroy_without_loner
Alias for: destroy_with_loner
destroy_with_loner(queue, klass, *args) click to toggle source

Overwriting original destroy method to mark all destroyed jobs as unqueued. Because the original method only returns the amount of jobs destroyed, but not the jobs themselves. Hence Resque::Plugins::Loner::Helpers.job_destroy looks almost as the original method Resque::Job.destroy. Couldn’t make it any dry’er.

# File lib/resque-ext/job.rb, line 40
def self.destroy_with_loner(queue, klass, *args)
  Resque::Plugins::Loner::Helpers.job_destroy(queue, klass, *args) unless Resque.inline?
  destroy_without_loner(queue, klass, *args)
end
Also aliased as: destroy
destroy_without_loner(queue, klass, *args)
Alias for: destroy
reserve(queue)
Also aliased as: reserve_without_loner
Alias for: reserve_with_loner
reserve_with_loner(queue) click to toggle source

Overwriting original reserve method to mark an item as unqueued

# File lib/resque-ext/job.rb, line 28
def self.reserve_with_loner(queue)
  item = reserve_without_loner(queue)
  Resque::Plugins::Loner::Helpers.mark_loner_as_unqueued(queue, item) if item && !Resque.inline?
  item
end
Also aliased as: reserve
reserve_without_loner(queue)
Alias for: reserve