class Resque::Job
Public Class Methods
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
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
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